From e06a209d51ebe6372b3221a456cd9ec3e67b0a5f Mon Sep 17 00:00:00 2001 From: 王旭 <1377869194@qq.com> Date: 星期四, 29 九月 2022 11:19:02 +0800 Subject: [PATCH] 部分字典页面接口 --- src/api/api.js | 21 +++ src/views/datamanage/dictionaryManage.vue | 253 +++++++++++++++++++++++++++++++------------------- 2 files changed, 175 insertions(+), 99 deletions(-) diff --git a/src/api/api.js b/src/api/api.js index af5ad1f..b1cf4a0 100644 --- a/src/api/api.js +++ b/src/api/api.js @@ -8,8 +8,23 @@ */ import request from "@/utils/request"; -// post璇锋眰 -export function login(params) { +//瀛楀吀绠$悊鍒楄〃 +export function selectByPageAndCount(params) { //璇锋眰鍦板潃 - return request.post("/Dict/selectByPage", params); + return request.get("/dict/selectByPageAndCount", {params:params}); } +//瀛楀吀绠$悊鍒楄〃 +export function selectDictTab(params) { + //璇锋眰鍦板潃 + return request.get("/dict/selectDictTab", {params:params}); +} +//瀛楀吀绠$悊鍒楄〃鍒犻櫎 +export function deleteDicts(params) { + //璇锋眰鍦板潃 + return request.get("/dict/deleteDicts", {params:params}); +} +//瀛楀吀绠$悊鍒楄〃缂栬緫 +export function updateDict(params) { + //璇锋眰鍦板潃 + return request.post("/dict/updateDict", params); +} \ No newline at end of file diff --git a/src/views/datamanage/dictionaryManage.vue b/src/views/datamanage/dictionaryManage.vue index 6a88c6c..5829b6a 100644 --- a/src/views/datamanage/dictionaryManage.vue +++ b/src/views/datamanage/dictionaryManage.vue @@ -6,15 +6,16 @@ <el-form ref="ruleForm" :model="ruleForm" :inline="true"> <el-form-item label="琛ㄥ悕绉�" prop="name"> <el-select + clearable v-model="queryName" @change="changeQueryName" placeholder="璇烽�夋嫨琛ㄥ悕绉�" > <el-option - v-for="item in selectName" - :key="item.value" - :label="item.label" - :value="item.value" + v-for="(item, i) in selectData" + :key="i" + :label="item.tabDesc" + :value="item.tab" > </el-option> </el-select> @@ -48,42 +49,36 @@ height="98%" > <el-table-column type="selection" width="55" /> - <el-table-column width="50" type="index" label="缂栧彿" /> - <el-table-column - min-width="100" - prop="field_name" - label="瀛楁鍚嶇О" - /> - <el-table-column - min-width="90" - prop="field_alias" - label="瀛楁鏄剧ず鍚嶇О" - /> - <el-table-column - min-width="100" - prop="field_type" - label="瀛楁绫诲瀷" - /> - <el-table-column min-width="60" prop="length" label="瀛楁闀垮害" /> + <el-table-column prop="orderNum" label="缂栧彿" /> + <el-table-column min-width="100" prop="field" label="瀛楁鍚嶇О" /> + <el-table-column min-width="90" prop="alias" label="瀛楁鏄剧ず鍚嶇О" /> + <el-table-column min-width="100" prop="type" label="瀛楁绫诲瀷" /> + <el-table-column min-width="60" prop="len" label="瀛楁闀垮害" /> <el-table-column min-width="60" prop="precision" label="瀛楁绮惧害" /> + <el-table-column min-width="100" prop="tab" label="鍊煎煙鍏宠仈琛�" /> + <el-table-column min-width="100" prop="bak" label="澶囨敞" /> <el-table-column min-width="100" - prop="domain_name" - label="鍊煎煙鍏宠仈琛�" - /> - <el-table-column min-width="100" prop="remarks" label="澶囨敞" /> - <el-table-column - min-width="100" - prop="create_time" + prop="createTime" label="鍒涘缓鏃堕棿" + :formatter="formatData" /> <el-table-column min-width="100" - prop="create_user" + prop="createUser" label="鍒涘缓浜哄憳" /> - <el-table-column min-width="100" prop="up_time" label="鏇存柊鏃堕棿" /> - <el-table-column min-width="100" prop="up_user" label="鏇存柊浜哄憳" /> + <el-table-column + min-width="100" + prop="updateTime" + label="鏇存柊鏃堕棿" + :formatter="formatData" + /> + <el-table-column + min-width="100" + prop="updateUser" + label="鏇存柊浜哄憳" + /> <el-table-column min-width="70" label="鎿嶄綔"> <template slot-scope="scope"> @@ -105,15 +100,15 @@ </el-table> </div> <div - style="margin-top: 20px; margin-left: 400px" + style="margin-top: 20px; text-align: center" class="pagination_box" > <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" - :current-page="currentPage" + :current-page="listData.pageIndex" :page-sizes="[10, 20, 50, 100]" - :page-size="pageNum" + :page-size="listData.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="count" > @@ -130,33 +125,33 @@ </div> </div> <div class="contentBox"> - <p>琛ㄥ悕绉帮細{{ itemdetail.table_name }}</p> + <p>琛ㄥ悕绉帮細{{ itemdetail.tab }}</p> <el-divider></el-divider> - <p>琛ㄦ樉绀哄悕绉帮細{{ itemdetail.table_alias }}</p> + <p>琛ㄦ樉绀哄悕绉帮細{{ itemdetail.tabDesc }}</p> <el-divider></el-divider> - <p>琛ㄧ被鍨嬶細{{ itemdetail.table_type }}</p> + <!-- <p>琛ㄧ被鍨嬶細{{ itemdetail.type }}</p> + <el-divider></el-divider> --> + <p>瀛楁鍚嶇О锛歿{ itemdetail.field }}</p> <el-divider></el-divider> - <p>瀛楁鍚嶇О锛歿{ itemdetail.field_name }}</p> + <p>瀛楁鏄剧ず鍚嶇О锛歿{ itemdetail.alias }}</p> <el-divider></el-divider> - <p>瀛楁鏄剧ず鍚嶇О锛歿{ itemdetail.field_alias }}</p> + <p>瀛楁绫诲瀷锛歿{ itemdetail.type }}</p> <el-divider></el-divider> - <p>瀛楁绫诲瀷锛歿{ itemdetail.field_type }}</p> - <el-divider></el-divider> - <p>瀛楁闀垮害锛歿{ itemdetail.length }}</p> + <p>瀛楁闀垮害锛歿{ itemdetail.len }}</p> <el-divider></el-divider> <p>瀛楁绮惧害锛歿{ itemdetail.precision }}</p> <el-divider></el-divider> - <p>鍊煎煙鍏宠仈琛細{{ itemdetail.domain_name }}</p> + <!-- <p>鍊煎煙鍏宠仈琛細{{ itemdetail.domain_name }}</p> + <el-divider></el-divider> --> + <p>澶囨敞锛歿{ itemdetail.bak }}</p> <el-divider></el-divider> - <p>澶囨敞锛歿{ itemdetail.remarks }}</p> + <p>鍒涘缓鏃堕棿锛歿{ itemdetail.createTime }}</p> <el-divider></el-divider> - <p>鍒涘缓鏃堕棿锛歿{ itemdetail.create_time }}</p> + <p>鍒涘缓浜哄憳锛歿{ itemdetail.createUser }}</p> <el-divider></el-divider> - <p>鍒涘缓浜哄憳锛歿{ itemdetail.create_user }}</p> + <p>鏇存柊鏃堕棿锛歿{ itemdetail.updateTime }}</p> <el-divider></el-divider> - <p>鏇存柊鏃堕棿锛歿{ itemdetail.up_time }}</p> - <el-divider></el-divider> - <p>鏇存柊浜哄憳锛歿{ itemdetail.up_user }}</p> + <p>鏇存柊浜哄憳锛歿{ itemdetail.updateUser }}</p> </div> </el-card> </div> @@ -167,46 +162,46 @@ :visible.sync="dialogFormVisible" > <el-form :model="upform"> - <el-form-item label="搴忓彿" :label-width="formLabelWidth"> - <el-input v-model="upform.oid" autocomplete="off"></el-input> + <el-form-item label="缂栧彿" :label-width="formLabelWidth"> + <el-input v-model="upform.orderNum" autocomplete="off"></el-input> </el-form-item> <el-form-item label="琛ㄥ悕" :label-width="formLabelWidth"> - <el-input v-model="upform.table_name" autocomplete="off"></el-input> + <el-input v-model="upform.tab" autocomplete="off"></el-input> </el-form-item> <el-form-item label="琛ㄥ埆鍚�" :label-width="formLabelWidth"> - <el-input v-model="upform.table_alias" autocomplete="off"></el-input> + <el-input v-model="upform.tabDesc" autocomplete="off"></el-input> </el-form-item> - <el-form-item label="绫诲瀷" :label-width="formLabelWidth"> + <!-- <el-form-item label="绫诲瀷" :label-width="formLabelWidth"> <el-select v-model="upform.table_type" - style="width: 800px" + style="width: 100%" placeholder="璇烽�夋嫨鏁版嵁绫诲瀷" > <el-option label="鐐瑰嚑浣�" value="鐐瑰嚑浣�"></el-option> <el-option label="绾垮嚑浣�" value="绾垮嚑浣�"></el-option> <el-option label="闈㈠嚑浣�" value="闈㈠嚑浣�"></el-option> </el-select> - </el-form-item> + </el-form-item> --> <el-form-item label="瀛楁鍚嶇О" :label-width="formLabelWidth"> - <el-input v-model="upform.field_name" autocomplete="off"></el-input> + <el-input v-model="upform.field" autocomplete="off"></el-input> </el-form-item> <el-form-item label="瀛楁鍒悕" :label-width="formLabelWidth"> - <el-input v-model="upform.field_alias" autocomplete="off"></el-input> + <el-input v-model="upform.alias" autocomplete="off"></el-input> </el-form-item> <el-form-item label="瀛楁绫诲瀷" :label-width="formLabelWidth"> - <el-input v-model="upform.field_type" autocomplete="off"></el-input> + <el-input v-model="upform.type" autocomplete="off"></el-input> </el-form-item> <el-form-item label="闀垮害" :label-width="formLabelWidth"> - <el-input v-model="upform.length" autocomplete="off"></el-input> + <el-input v-model="upform.len" autocomplete="off"></el-input> </el-form-item> <el-form-item label="绮惧害" :label-width="formLabelWidth"> <el-input v-model="upform.precision" autocomplete="off"></el-input> </el-form-item> - <el-form-item label="鍊煎煙鍚嶇О" :label-width="formLabelWidth"> + <!-- <el-form-item label="鍊煎煙鍚嶇О" :label-width="formLabelWidth"> <el-input v-model="upform.domain_name" autocomplete="off"></el-input> - </el-form-item> + </el-form-item> --> <el-form-item label="澶囨敞" :label-width="formLabelWidth"> - <el-input v-model="upform.remarks" autocomplete="off"></el-input> + <el-input v-model="upform.bak" autocomplete="off"></el-input> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> @@ -221,7 +216,7 @@ :visible.sync="InsertFormdialog" > <el-form :model="insertform"> - <el-form-item label="搴忓彿" :label-width="formLabelWidth"> + <el-form-item label="缂栧彿" :label-width="formLabelWidth"> <el-input v-model="insertform.oid" autocomplete="off"></el-input> </el-form-item> <el-form-item label="琛ㄥ悕" :label-width="formLabelWidth"> @@ -239,7 +234,7 @@ <el-form-item label="绫诲瀷" :label-width="formLabelWidth"> <el-select v-model="insertform.table_type" - style="width: 800px" + style="width: 100%" placeholder="璇烽�夋嫨鏁版嵁绫诲瀷" > <el-option label="鐐瑰嚑浣�" value="鐐瑰嚑浣�"></el-option> @@ -294,10 +289,10 @@ <script> import { - - - - + selectByPageAndCount, + selectDictTab, + deleteDicts, + updateDict, } from "../../api/api"; import MyBread from "../../components/MyBread.vue"; export default { @@ -319,27 +314,95 @@ tableData: [], count: 0, currentPage: 1, - pageNum: 10, - pageSize: 1, searchName: "", selectName: [], queryName: "", + listData: { + pageIndex: 1, + pageSize: 10, + }, + selectData: [], }; }, created() { - // this.startFromData(); this.startQueryNameData(); + this.getSelectDictTab(); }, methods: { + //涓嬫媺閫夐」璋冪敤 + async getSelectDictTab() { + this.selectData = []; + const data = await selectDictTab(); + if (data.code != 200) { + this.$message.error("涓嬫媺璋冪敤澶辫触"); + } + data.result.forEach((e) => { + if (e) { + this.selectData.push({ + tab: e.tab, + tabDesc: `${e.tabDesc}锛�${e.tab}锛塦, + }); + } + }); + }, + //鍒楄〃璇锋眰 + async startQueryNameData() { + if (this.listData.tab == "") { + delete this.listData.tab; + } + const data = await selectByPageAndCount(this.listData); + if (data.code != 200) { + this.$message.error("鍒楄〃璋冪敤澶辫触"); + } + this.tableData = data.result; + this.count = data.count; + }, + //鏍煎紡鍖栨椂闂� + add0(m) { + return m < 10 ? "0" + m : m; + }, + //鏍煎紡鍖栨椂闂� + format(shijianchuo) { + //shijianchuo鏄暣鏁帮紝鍚﹀垯瑕乸arseInt杞崲 + var time = new Date(shijianchuo); + var y = time.getFullYear(); + var m = time.getMonth() + 1; + var d = time.getDate(); + var h = time.getHours(); + var mm = time.getMinutes(); + var s = time.getSeconds(); + return ( + y + "-" + this.add0(m) + "-" + this.add0(d) + // " " + + // this.add0(h) + + // ":" + + // this.add0(mm) + + // ":" + + // this.add0(s) + ); + }, + //鏍煎紡鍖栧垪琛� + formatData(row, column) { + let data = row[column.property]; + if (data == null) { + return data; + } + return this.format(data); + }, + //淇敼璇︽儏 updateForm() { this.$confirm("鏄惁纭畾淇濆瓨淇敼鍐呭?", "鎻愮ず", { confirmButtonText: "纭畾", cancelButtonText: "鍙栨秷", type: "warning", }) - .then(() => { + .then(async () => { + const data = await updateDict(this.upform); + if (data.code != 200) { + this.$message.error("淇敼澶辫触"); + } this.dialogFormVisible = false; - + this.startQueryNameData(); this.$message({ message: "淇敼鎴愬姛", type: "success", @@ -378,10 +441,11 @@ this.showinfoBox = false; this.itemdetail = {}; }, - + //淇敼璇︽儏寮规 handleEdit(index, row) { this.dialogFormVisible = true; this.upform = row; + console.log(this.upform); }, handleDelete(index, row) { this.$confirm("纭畾鏄惁鍒犻櫎鎵�閫夊唴瀹�?", "鎻愮ず", { @@ -390,7 +454,6 @@ type: "warning", }) .then(() => { - this.$message({ type: "success", message: "鍒犻櫎鎴愬姛!", @@ -400,14 +463,14 @@ .catch(() => {}); }, handleSizeChange(val) { + console.log(val); // console.log(`姣忛〉 ${val} 鏉); - this.pageNum = val; - this.selectFromData(this.pageNum, 1, this.searchName); - this.countFromData(this.searchName); + this.listData.pageSize = val; + this.startQueryNameData(); }, handleCurrentChange(val) { - this.pageSize = val; - this.selectFromData(this.pageNum, this.pageSize, this.searchName); + this.listData.pageIndex = val; + this.startQueryNameData(); }, insertFromData() { @@ -418,22 +481,19 @@ }) .then(() => { this.InsertFormdialog = false; - - }) .catch(() => {}); }, - countFromData(name) { - - }, - selectFromData(size, index, name) { - - }, + countFromData(name) {}, + selectFromData(size, index, name) {}, + //鍒楄〃閫夋嫨 handleSelectionChange(val) { this.multipleSelection = val; }, + //鍒犻櫎鍒楄〃 DelFormData() { var std = []; + console.log(this.multipleSelection); for (var i in this.multipleSelection) { std.push(this.multipleSelection[i].id); } @@ -442,8 +502,11 @@ cancelButtonText: "鍙栨秷", type: "warning", }) - .then(() => { - + .then(async () => { + const data = await deleteDicts({ ids: std.toString() }); + if (data.code != 200) { + this.$message.error("鍒楄〃鍒犻櫎澶辫触"); + } this.$message({ type: "success", message: "鍒犻櫎鎴愬姛!", @@ -459,12 +522,10 @@ this.selectFromData(10, 1, this.searchName); this.countFromData(this.searchName); }, - startQueryNameData() { - - }, + //鎼滅储妗� changeQueryName(val) { - this.searchName = val; - this.startFromData(); + this.listData.tab = val; + this.startQueryNameData(); }, }, }; -- Gitblit v1.9.3