From 963a2313f4f8959715293d38f69894078150d508 Mon Sep 17 00:00:00 2001 From: lzhe <lzhe@example.com> Date: 星期五, 14 六月 2024 11:29:47 +0800 Subject: [PATCH] Merge branch 'master' of http://www.beijingsoft.cn:9090/r/smart-web --- src/views/console/system/dict.vue | 349 +++++++++++++++++++++++++--------------------------------- 1 files changed, 150 insertions(+), 199 deletions(-) diff --git a/src/views/console/system/dict.vue b/src/views/console/system/dict.vue index 4c7ee4e..4e755a9 100644 --- a/src/views/console/system/dict.vue +++ b/src/views/console/system/dict.vue @@ -2,128 +2,91 @@ * @Author: lzhe lzhe@example.com * @Date: 2024-03-26 10:28:33 * @LastEditors: lzhe lzhe@example.com - * @LastEditTime: 2024-03-28 18:25:55 + * @LastEditTime: 2024-04-02 17:48:31 * @FilePath: /smart-web/src/views/master/person/main/index.vue * @Description: 杩欐槸榛樿璁剧疆,璇疯缃甡customMade`, 鎵撳紑koroFileHeader鏌ョ湅閰嶇疆 杩涜璁剧疆: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE --> <template> - <div class="person-person"> - <div class="person-person-right"> - <div class="right-top"> - <div class="right-bottom"> - <el-button type="primary" @click="addPerson">+ 鏂板</el-button> - <el-button type="danger" plain @click="delPerson">鍒犻櫎</el-button> - </div> - <div> - <el-select v-model="input3" placeholder="鐘舵��" class="searchStatus"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value" - size="small" - /> - </el-select> - <el-input - v-model="input3" - style="width: 200px" - size="small" - placeholder="璇疯緭鍏ュ叧閿瓧杩涜杩囨护" - class="input-with-select" - > - <template #append> - <el-button :icon="Search" /> - </template> - </el-input> + <div class="dict-main"> + <el-form :inline="true" :model="searchData" label-width="80px"> + <el-form-item label="瀛楀吀缂栧彿"> + <el-input v-model="searchData.code" placeholder="瀛楀吀缂栧彿" clearable /> + </el-form-item> + <el-form-item label="瀛楀吀鍚嶇О"> + <el-input v-model="searchData.dictValue" placeholder="瀛楀吀鍚嶇О" clearable></el-input> + </el-form-item> + <el-form-item> + <el-button type="primary" @click="searchclick">鎼滅储</el-button> + <el-button @click="searchClearBtn">娓呯┖</el-button> + </el-form-item> + </el-form> + <div> + <div class="dict-Btn"> + <div class="dict-btn-bottom"> + <el-button type="primary" @click="addData">+ 鏂板</el-button> + <el-button type="danger" plain @click="delData">鍒犻櫎</el-button> </div> </div> - <div class="right-table"> - <el-table - ref="multipleTableRef" - :data="tableData" - border - style="width: 100%" - class="multipleTableRef" - @selection-change="handleSelectionChange" - > + <div class="dict-table"> + <el-table ref="multipleTableRef" :data="tableData" border style="width: 100%" class="multipleTableRef" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55" /> - <el-table-column - prop="date" - label="瀛楀吀缂栧彿"> + <el-table-column prop="code" label="瀛楀吀缂栧彿"> + <template #default="scope"> + <el-check-tag type="info" checked @change="table_allocation(scope.row, scope.$index)">{{scope.row.code}}</el-check-tag> + </template> </el-table-column> - <el-table-column - prop="name" - label="瀛楀吀鍚嶇О"> + <el-table-column prop="dictValue" label="瀛楀吀鍚嶇О"></el-table-column> + <el-table-column prop="sort" label="瀛楀吀鎺掑簭"></el-table-column> + <el-table-column prop="isSealed" label="灏佸瓨"> + <template #default="scope"> + <div>{{scope.row.isSealed == 0?"鍚�":"鏄�"}}</div> + </template> </el-table-column> - <el-table-column - prop="name" - label="瀛楀吀鎺掑簭"> - </el-table-column> - <el-table-column - prop="name" - label="灏佸瓨"> - </el-table-column> - <el-table-column - fixed="right" - label="鎿嶄綔"> - <template #default="scope"> - <el-button type="text" size="small" @click="table_edit(scope.row, scope.$index)">缂栬緫</el-button> - <el-button text type="primary" size="small" @click="table_show(scope.row, scope.$index)">鏌ョ湅</el-button> - </template> + <el-table-column fixed="right" label="鎿嶄綔"> + <template #default="scope"> + <el-button text type="primary" size="small" @click="table_show(scope.row, scope.$index)">鏌ョ湅</el-button> + <el-button type="text" size="small" @click="table_edit(scope.row, scope.$index)">缂栬緫</el-button> + <el-button text type="primary" size="small" @click="table_del(scope.row, scope.$index)">鍒犻櫎</el-button> + <el-button text type="primary" size="small" @click="table_allocation(scope.row, scope.$index)">瀛楀吀閰嶇疆</el-button> + </template> </el-table-column> </el-table> <el-pagination + style="margin-top: 12px;" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage4" - :page-sizes="[100, 200, 300, 400]" - :page-size="100" + :page-sizes="[15, 50, 100]" + :page-size="15" layout="total, sizes, prev, pager, next, jumper" - :total="400"> + :total="total"> </el-pagination> </div> </div> </div> - - <el-dialog title="閮ㄩ棬璋冩暣" v-model="departmentVisible" :width="400" destroy-on-close> - <el-form :model="departmentFrom" :rules="departmentVisibleRules" :disabled="mode=='show'" ref="dialogForm" label-width="80px" label-position="center"> - <el-row> - <el-col :span="24"> - <el-form-item label="閮ㄩ棬" prop="department"> - <el-select v-model="departmentFrom.department" style="width: 100%"> - <el-option v-for="item in groups" :key="item.id" :label="item.label" :value="item.id"/> - </el-select> - </el-form-item> - </el-col> - </el-row> - </el-form> - <template #footer> - <el-button @click="departmentVisible=false" >鍙� 娑�</el-button> - <el-button v-if="mode!='show'" type="primary" :loading="isSaveing" @click="departmentSubmit()">淇� 瀛�</el-button> - </template> - </el-dialog> - <save-dialog v-if="dialog.save" ref="saveDialog" @success="handleSuccess" @closed="dialog.save=false"></save-dialog> + <save-dialog v-if="dialog.save" ref="saveDialog" @success="addDictSuccess" @closed="dialog.save=false"></save-dialog> + <allocation-dialog v-if="dialog.allocation" ref="allocationDialog" :getModalData="getModalData" @success="handleSuccess" @closed="dialog.allocation=false"></allocation-dialog> </template> <script> import saveDialog from './addDict' + import allocationDialog from './allocationDialog' export default { - name: "bakalaka", + name: "allocation", data(){ return { - isSaveing: false, - groups: [], - departmentFrom: { - department: "" + getModalData: [], + selection: [], + total: 0, + searchData: { + code: "", + dictValue: "", + current: "1", + size: "15" }, - departmentVisibleRules: { - department:[ - {required: true, message: '璇烽�夋嫨閮ㄩ棬'} - ] - }, - departmentVisible: false, dialog: { - save: false + save: false, + allocation: false }, leftActive: true, input: '', @@ -132,52 +95,72 @@ label: '榛勯噾绯�' }], input3: '', - tableData: [{ - date: '2016-05-02', - name: '鐜嬪皬铏�', - province: '涓婃捣', - city: '鏅檧鍖�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�', - zip: 200333 - }, { - date: '2016-05-04', - name: '鐜嬪皬铏�', - province: '涓婃捣', - city: '鏅檧鍖�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1517 寮�', - zip: 200333 - }, { - date: '2016-05-01', - name: '鐜嬪皬铏�', - province: '涓婃捣', - city: '鏅檧鍖�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1519 寮�', - zip: 200333 - }, { - date: '2016-05-03', - name: '鐜嬪皬铏�', - province: '涓婃捣', - city: '鏅檧鍖�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1516 寮�', - zip: 200333 - }] + tableData: [] } }, created(){ }, mounted(){ - + this.searchBtn(); }, components: { - saveDialog + saveDialog,allocationDialog }, methods: { - departmentSubmit() { - this.departmentVisible=false; //閮ㄩ棬璋冩暣 + codeClick() { + + }, + addDictSuccess(addDictForm) { + this.searchClearBtn(); + }, + searchClearBtn() { + this.searchData = { + code: "", + dictValue: "", + current: "1", + size: "15" + } + this.searchBtn(); + }, + searchclick() { + this.searchData.current = "1"; + this.searchData.size = "15"; + this.searchBtn(); + }, + searchBtn() { + this.$HTTP.get("/api/blade-system/dict/parent-list",this.searchData).then(res=> { + if(res.code == 200) { + this.tableData = res.data.records; + this.total = res.data.total; + } + }) + }, + //瀛楀吀閰嶇疆 + table_allocation(row) { + this.dialog.allocation = true; + this.$nextTick(() => { + this.$refs.allocationDialog.open('edit').setData(row); + }) + }, + //鍒犻櫎 + table_del(row) { + var that = this; + this.$confirm(`纭畾灏嗛�夋嫨鏁版嵁鍒犻櫎?`, '', { + type: 'warning' + }).then(() => { + this.$HTTP.post("/api/blade-system/dict/remove?ids="+row.id).then(res=> { + if(res.code == 200) { + that.$message.success("鎿嶄綔鎴愬姛"); + that.searchBtn(); + } + }) + }).catch(() => { + + }) }, //娣诲姞 - addPerson(){ + addData(){ this.dialog.save = true this.$nextTick(() => { this.$refs.saveDialog.open() @@ -185,8 +168,13 @@ }, table_edit(row){ this.dialog.save = true - this.$nextTick(() => { - this.$refs.saveDialog.open('edit').setData(row) + this.$HTTP.get("/api/blade-system/dict/detail?id="+row.id).then(res=> { + if(res.code == 200) { + this.dialog.save = true; + this.$nextTick(() => { + this.$refs.saveDialog.open('edit').setData(res.data); + }) + } }) }, //鏌ョ湅 @@ -196,8 +184,30 @@ this.$refs.saveDialog.open('show').setData(row) }) }, - handleSelectionChange() {}, - delPerson() {}, + handleSelectionChange(selection) { + this.selection = selection; + }, + delData() { + if(this.selection.length == 0) { + this.$message({ + message: '璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�', + type: 'warning' + }); + return; + } + var selStr = ""; + this.selection.map(item=> { + selStr += item.id + "," + }) + selStr = selStr.replace(/,$/, ''); + var that = this; + this.$HTTP.post("/api/blade-system/dict/remove?ids="+selStr).then(res=> { + if(res.code == 200) { + that.$message.success("鎿嶄綔鎴愬姛"); + that.searchclick(); + } + }) + }, changeDepartment() { this.departmentVisible = true; }, @@ -210,79 +220,26 @@ }, handleSizeChange(val) { console.log(`姣忛〉 ${val} 鏉); + this.searchData.current = "1"; + this.searchData.size = val; + this.searchBtn(); }, handleCurrentChange(val) { console.log(`褰撳墠椤�: ${val}`); + this.searchData.current = val; + this.searchBtn(); } } } </script> <style scoped> - .person-person { - width: 100%; - background-color: #f9fafb; - border: 1px solid #dcdfe6; - box-shadow: 0 2px 4px 0 rgba(0,0,0,.12), 0 0 6px 0 rgba(0,0,0,.04); - display: flex; - } - .person-person-left { + .dict-main { background-color: #fff; - width: 300px; - min-width: 300px; margin: 8px; - overflow: hidden; - border-radius: 4px; padding: 8px; } - .person-person-right { - background-color: #fff; - flex: 1; - margin-top: 8px; - margin-bottom: 8px; - overflow: hidden; - border-radius: 4px; - padding-top: 8px; - padding-bottom: 8px; - } - .person-left-title { - text-align: center; - vertical-align: middle; - padding-left: 8px; - } - .person-left-title div { - display: inline-block; - width: 55px; - height: 28px; - line-height: 28px; - border: 1px solid #dcdfe6; - cursor: pointer; - } - .person-left-title div:nth-child(1) { - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; - border-right: 0px; - } - .person-left-title div:nth-child(2) { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - border-left: 0px; - } - .person-left-active { - background-color: #3b8e8e; - color: #fff; - } - .person-left-search { - padding-top: 8px; - padding-bottom: 8px; - } - .person-tree { - background-color: #d8e8e8; - padding: 4px 18px; - font-size: 14px; - font-weight: 400; - } - .right-top { + .dict-Btn { display: flex; justify-content: space-between; border-bottom: 1px solid #dcdfe6; @@ -290,22 +247,16 @@ padding-left: 8px; padding-right: 8px; } - .right-title { - font-size: 18px; - font-weight: bold; - padding-bottom: 12px; - margin-bottom: 8px; - } .searchStatus { margin-right: 6px; width: 200px; } - .right-bottom { + .dict-btn-bottom { padding-left: 8px; padding-right: 8px; margin-bottom: 8px; } - .right-table { + .dict-table { padding-left: 8px; padding-right: 8px; margin-bottom: 8px; -- Gitblit v1.9.3