From 3007cbf86ea42756be4d5bf4f81e0d56d6150c67 Mon Sep 17 00:00:00 2001
From: lzhe <lzhe@example.com>
Date: 星期一, 07 十月 2024 00:52:48 +0800
Subject: [PATCH] Merge branch 'release' of http://122.9.151.159:9090/r/smart-web into release
---
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