From 2ecd6a1d2501ff0f80d9e177250ce76830436ef5 Mon Sep 17 00:00:00 2001 From: Fixiaobai <fixiaobai@163.com> Date: 星期六, 04 十一月 2023 17:23:35 +0800 Subject: [PATCH] modified: src/views/basic/crew/index.vue modified: src/views/basic/location/location-form.vue modified: src/views/basic/post/index.vue modified: src/views/basic/staff/index.vue modified: src/views/technology/operation/operation-form.vue modified: src/views/technology/structure/index.vue modified: src/views/technology/structure/single-structure-form.vue --- src/views/basic/param/index.vue | 215 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 204 insertions(+), 11 deletions(-) diff --git a/src/views/basic/param/index.vue b/src/views/basic/param/index.vue index c3f0223..c9bffc1 100644 --- a/src/views/basic/param/index.vue +++ b/src/views/basic/param/index.vue @@ -1,8 +1,10 @@ <template> <div class="mod-config"> <basic-container> - <ttable + <!-- <ttable :table="table" + :row-key="id" + :tree-props="{children: 'children', hasChildren: 'hasChildren'}" @handleSelectionChange="handleSelectionChange" :uploadInfo="uploadInfo" :prelang="prelang" @@ -11,13 +13,85 @@ ref="paramTable" > <template #toolbar></template> - </ttable> + </ttable> --> + <el-row style="margin-left: 10px;"> + <el-form :inline="true" :model="table" class="demo-form-inline"> + <el-form-item label="鍙傛暟椤�"> + <el-input v-model="table.param" placeholder="鍙傛暟椤�"></el-input> + </el-form-item> + <el-form-item label="鍙傛暟缂栧彿"> + <el-input v-model="table.code" placeholder="鍙傛暟缂栧彿"></el-input> + </el-form-item> + <el-form-item> + <el-button type="primary" @click="onSearch">鏌ヨ</el-button> + </el-form-item> + </el-form> + </el-row> + <el-row style="margin-left: 10px;height: 80vh;"> + <el-row> + <el-button type="defult" @click="addOrUpdateHandle">鏂板</el-button> + <el-button type="defult" @click="onSearch">瀵煎叆</el-button> + <!-- <el-button type="defult" @click="isExpandAllClick">灞曞紑/鎶樺彔</el-button> --> + </el-row> + <el-row style="padding-top: 20px;"> + <!-- 琛ㄦ牸鏁版嵁鍖�--> + <el-table height="480" style="width: 100%;" :data="table.data" row-key="id" + :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"> + <el-table-column type="index" label="搴忓彿" width="50"> + </el-table-column> + <el-table-column prop="code" label="鍙傛暟缂栧彿"></el-table-column> + <el-table-column prop="parameterItem" label="鍙傛暟椤�"></el-table-column> + <el-table-column prop="type" label="鍙傛暟绫诲瀷"> + <template slot-scope="scope"> + <el-col v-show="scope.row.bianJi === false">{{ scope.row.type }}</el-col> + <el-col v-show="scope.row.bianJi"> + <el-select @change="changeType(scope.row)" v-model="scope.row.type" placeholder="璇烽�夋嫨"> + <el-option v-for="item in optionType" :key="item.id" :label="item.label" :value="item.label"> + </el-option> + </el-select> + </el-col> + </template> + </el-table-column> + <el-table-column prop="parameterFormat" label="鍙傛暟鏍煎紡"> + <template slot-scope="scope"> + <el-col v-if="scope.row.bianJi === false"> + {{ scope.row.parameterFormat }} + </el-col> + <el-col style="margin-bottom: 0 !important;" v-if="scope.row.bianJi"> + <el-col v-if="scope.row.isSelect === false"> + <el-input v-model="scope.row.parameterFormat" placeholder="鍙傛暟鏍煎紡"></el-input> + </el-col> + <el-col v-if="scope.row.isSelect"> + <el-select v-model="scope.row.dict" filterable placeholder="璇烽�夋嫨鏁版嵁瀛楀吀" style="width:100%"> + <el-option v-for="(item, index) in dictOptions" :label="item.description" :value="item.type" + :key="index"> + </el-option> + </el-select> + </el-col> + </el-col> + </template> + </el-table-column> + <el-table-column prop="unit" label="鍗曚綅"></el-table-column> + <el-table-column prop="code" label="鎿嶄綔"> + <template slot-scope="scope"> + <el-row style=" display: flex;width: 100%;"> + <el-col><el-button type="text">鍒犻櫎</el-button></el-col> + <el-col v-if="scope.row.isBianji"> + <el-button @click="bianji(scope.row)" type="text">{{ scope.row.bianJiBtn }}</el-button> + </el-col> + </el-row> + </template> + </el-table-column> + </el-table> + <el-row style="display: flex; justify-content: end;"> + <el-pagination :current-page="table.currentPage" @current-change="handlesCurrentChange" + @size-change="sizeChangeHandle" :page-sizes="[10, 20, 50, 100]" :page-size="table.pageSize" + layout="total, sizes, prev, pager, next, jumper" :total="table.total"></el-pagination> + </el-row> + </el-row> + </el-row> <!-- 寮圭獥, 鏂板 / 淇敼 --> - <table-form - v-if="addOrUpdateVisible" - ref="addOrUpdate" - @refreshDataList="getData" - ></table-form> + <table-form v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getData"></table-form> </basic-container> </div> </template> @@ -30,6 +104,11 @@ export default { data() { return { + dictOptions: [], + optionType: [], + isExpandAll: false, + // 閲嶆柊娓叉煋琛ㄦ牸鐘舵�� + refreshTable: true, ajaxFun: fetchList, typeOptions: [], multipleSelection: [], @@ -47,14 +126,16 @@ border: true, // 鏄惁鏈夌旱鍚戣竟妗� lazy: false, // 鏄惁闇�瑕佹噿鍔犺浇 fit: true, // 鍒楃殑瀹藉害鏄惁鑷拺寮� - multiSelect: true, // + multiSelect: false, // seqNo: true, isShowHide: true, // 鏄惁鏄剧ず鏄惧奖鎸夐挳 - isSearch: true, // 楂樼骇鏌ヨ鎸夐挳 + isSearch: false, // 楂樼骇鏌ヨ鎸夐挳 defaultOrderBy: { column: 'createTime', direction: 'desc' } }, table: { + param: null, total: 0, + code: null, currentPage: 1, pageSize: 20, data: [], @@ -77,6 +158,24 @@ sort: true, isTrue: true, isSearch: true, + searchInfoType: 'text' + }, + { + minWidth: '120', + prop: 'second', + label: '浜岀骇鍙傛暟', + sort: true, + isTrue: true, + isSearch: false, + searchInfoType: 'text' + }, + { + minWidth: '130', + prop: 'third', + label: '涓夌骇鍙傛暟', + sort: true, + isTrue: true, + isSearch: false, searchInfoType: 'text' }, { @@ -181,12 +280,98 @@ ...mapGetters(['permissions']) }, created() { + this.getDictOptions() this.getParamType() + this.getData() }, methods: { + // 鑾峰彇鎵�鏈夊瓧鍏� + getDictOptions() { + fetchList( + Object.assign({ + current: 1, + size: 200 + }) + ).then((response) => { + if (response.data.code === 0) { + this.dictOptions = response.data.data.records + } + }) + }, + changeType(row) { + if(row.type==='涓嬫媺閫夐」'){ + row.isSelect=true + }else{ + row.isSelect=false + } + }, + bianji(row) { + if (!row.bianJi) { + row.bianJi = true + row.bianJiBtn = '淇濆瓨' + } else { + row.bianJi = false + row.isSelect=false + row.bianJiBtn = '缂栬緫' + } + }, + isExpandAllClick() { + // console.log(1111); + this.isExpandAll = !this.isExpandAll; + this.$nextTick(() => { + this.refreshTable = true; + }); + // console.log(this.isExpandAll); + }, + handlesCurrentChange() { }, + sizeChangeHandle() { }, + onSearch() { }, // 鑾峰彇鏁版嵁鍒楄〃 getData() { - this.$refs.paramTable.getDataList() + let param = { + parentId: 0, + code: this.table.code, + size: this.table.pageSize, + current: this.table.currentPage, + parameterItem: this.table.param + } + fetchList(param).then((res) => { + console.log(res.data); + this.table.total = res.data.data.total + // this.table.data = res.data.data.records + this.$nextTick(() => { + let datas = JSON.parse(JSON.stringify(res.data.data.records)) + datas.forEach(l => { + l.bianJi = false + l.isSelect=false + if (l.children.length < 1) { + l.isBianji = true + l.bianJiBtn = '缂栬緫' + } else { + l.isBianji = false + l.children.forEach(c => { + c.isSelect=false + c.bianji = false + if (c.children.length < 1) { + c.isBianji = true + c.bianJiBtn = '缂栬緫' + } else { + l.isBianji = false + c.children.forEach(cc => { + cc.isSelect=false + cc.bianJi = false + cc.isBianji = true + cc.bianJiBtn = '缂栬緫' + }) + } + }) + } + }) + console.log("test==>", datas); + this.table.data = datas + console.log(this.table.data); + }); + }) }, // 鏂板 / 淇敼 addOrUpdateHandle(row) { @@ -200,6 +385,7 @@ remote('technology_param').then((response) => { if (response.data.code === 0) { this.typeOptions = response.data.data + this.optionType = response.data.data } }) }, @@ -222,7 +408,7 @@ cancelButtonText: '鍙栨秷', type: 'warning' }) - .then(function() { + .then(function () { return delObj(row.id) }) .then((data) => { @@ -233,3 +419,10 @@ } } </script> +<style scoped> +table, +tr, +td { + text-align: center; +} +</style> -- Gitblit v1.9.3