From 2f0ade35ec9107f94c153057b207e4f21e9a29b0 Mon Sep 17 00:00:00 2001 From: zhy <luhan1008611> Date: 星期三, 25 十月 2023 17:31:33 +0800 Subject: [PATCH] Merge branch 'master' of http://116.198.39.83:7111/r/xxjProject/low-consum-manage --- admin-web/src/views/systemSetting/department/data.vue | 427 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 427 insertions(+), 0 deletions(-) diff --git a/admin-web/src/views/systemSetting/department/data.vue b/admin-web/src/views/systemSetting/department/data.vue new file mode 100644 index 0000000..b0836af --- /dev/null +++ b/admin-web/src/views/systemSetting/department/data.vue @@ -0,0 +1,427 @@ +<template> + <div class="divBox"> + <el-card class="box-card"> + <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> + <el-form-item label="瀛楀吀鍚嶇О" prop="dictType"> + <el-select v-model="queryParams.dictType"> + <el-option + v-for="item in typeOptions" + :key="item.dict_id" + :label="item.dict_name" + :value="item.dict_type" + /> + </el-select> + </el-form-item> + <el-form-item label="瀛楀吀鏍囩" prop="dictLabel"> + <el-input + v-model="queryParams.dictLabel" + placeholder="璇疯緭鍏ュ瓧鍏告爣绛�" + clearable + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="鐘舵��" prop="status"> + <el-select v-model="queryParams.status" placeholder="鏁版嵁鐘舵��" clearable> + <el-option + v-for="item in constants.normalOrDisabled" + :key="item.value" + :label="item.label" + :value="item.value" + /> + </el-select> + </el-form-item> + <el-form-item> + <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> + <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> + </el-form-item> + </el-form> + + <el-row :gutter="10" class="mb8"> + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-plus" + size="mini" + @click="handleAdd" + v-hasPermi="['system:dict:add']" + >鏂板</el-button> + </el-col> + <el-col :span="1.5"> + <el-button + type="danger" + plain + icon="el-icon-delete" + size="mini" + :disabled="multiple" + @click="handleDelete" + v-hasPermi="['system:dict:remove']" + >鍒犻櫎</el-button> + </el-col> + <el-col :span="1.5"> + <el-button + type="warning" + plain + icon="el-icon-download" + size="mini" + @click="handleExport" + v-hasPermi="['system:dict:export']" + >瀵煎嚭</el-button> + </el-col> + <el-col :span="1.5"> + <el-button + type="warning" + plain + icon="el-icon-close" + size="mini" + @click="handleClose" + >鍏抽棴</el-button> + </el-col> +<!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>--> + </el-row> + + <el-table v-loading="loading" :data="dataList" @selection-change="handleSelectionChange"> + <el-table-column type="selection" width="55" align="center" /> + <el-table-column label="瀛楀吀ID" align="center" prop="dict_code" /> + <el-table-column label="瀛楀吀鍚嶇О" align="center" prop="dict_label"> + <template slot-scope="scope"> + <span v-if="scope.row.list_class == '' || scope.row.list_class == 'default'">{{scope.row.dict_label}}</span> + <el-tag v-else :type="scope.row.list_class == 'primary' ? '' : scope.row.list_class">{{scope.row.dict_label}}</el-tag> + </template> + </el-table-column> + <el-table-column label="瀛楀吀鍊�" align="center" prop="dict_value" /> + <el-table-column label="鎺掑簭" align="center" prop="dict_sort" /> + <el-table-column label="鐘舵��" align="center" prop="status"> + <template slot-scope="scope"> +<!-- <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>--> + <span>{{ scope.row.status == 0? '姝e父':'绂佺敤' }}</span> + </template> + </el-table-column> + <el-table-column label="鐖秈d" align="center" prop="parent_id" /> + <el-table-column label="澶囨敞" align="center" prop="remark" :show-overflow-tooltip="true" /> + <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="create_time" width="180"> +<!-- <template slot-scope="scope">--> +<!-- <span>{{ parseTime(scope.row.create_time) }}</span>--> +<!-- </template>--> + </el-table-column> + <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> + <template slot-scope="scope"> + <el-button + size="mini" + type="text" + icon="el-icon-edit" + @click="handleUpdate(scope.row)" + v-hasPermi="['system:dict:edit']" + >淇敼</el-button> + <el-button + size="mini" + type="text" + icon="el-icon-delete" + @click="handleDelete(scope.row)" + v-hasPermi="['system:dict:remove']" + >鍒犻櫎</el-button> + </template> + </el-table-column> + </el-table> + +<!-- <pagination--> +<!-- v-show="total>0"--> +<!-- :total="total"--> +<!-- :page.sync="queryParams.pageNum"--> +<!-- :limit.sync="queryParams.pageSize"--> +<!-- @pagination="getList"--> +<!-- />--> + <el-pagination + :current-page="queryParams.pageNum" + :page-sizes="constants.page.limit" + :layout="constants.page.layout" + :total="this.total" + @size-change="getList" + @current-change="getList" + /> + </el-card> + + <!-- 娣诲姞鎴栦慨鏀瑰弬鏁伴厤缃璇濇 --> + <el-dialog :title="title" :visible.sync="open" width="500px" :before-close="cancel" append-to-body> + <el-form ref="form" :model="form" :rules="rules" label-width="80px"> + <el-form-item label="瀛楀吀ID"> + <el-input v-model="form.dict_code" :disabled="false" placeholder="涓�涓敮涓�鏁板瓧"/> + </el-form-item> + <el-form-item label="瀛楀吀绫诲瀷"> + <el-input v-model="form.dict_type" :disabled="true" /> + </el-form-item> + <el-form-item label="瀛楀吀鍚嶇О" prop="dict_label"> + <el-input v-model="form.dict_label" placeholder="璇疯緭鍏ユ暟鎹爣绛�" /> + </el-form-item> + <el-form-item label="瀛楀吀鍊�" prop="dict_value"> + <el-input v-model="form.dict_value" placeholder="涓嶅~鍜屽瓧鍏窱D涓�鑷�" /> + </el-form-item> + <el-form-item label="鏍峰紡灞炴��" prop="css_class"> + <el-input v-model="form.css_class" placeholder="璇疯緭鍏ユ牱寮忓睘鎬�" /> + </el-form-item> + <el-form-item label="鏄剧ず鎺掑簭" prop="dict_sort"> + <el-input-number v-model="form.dict_sort" controls-position="right" :min="0" /> + </el-form-item> + <el-form-item label="鍥炴樉鏍峰紡" prop="list_class"> + <el-select v-model="form.list_class"> + <el-option + v-for="item in listClassOptions" + :key="item.value" + :label="item.label + '(' + item.value + ')'" + :value="item.value" + ></el-option> + </el-select> + </el-form-item> + <el-form-item label="鐘舵��" prop="status"> + <el-radio-group v-model="form.status"> + <el-radio + v-for="dict in constants.normalOrDisabled" + :key="dict.value" + :label="dict.value * 1" + >{{dict.label}}</el-radio> + </el-radio-group> + </el-form-item> + <el-form-item label="鐖跺瓧鍏窱D" prop="dict_label"> + <el-input v-model="form.parent_id" placeholder="鐖跺瓧鍏竔d锛屽繀濉�" /> + </el-form-item> + <el-form-item label="澶囨敞" prop="remark"> + <el-input v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�"></el-input> + </el-form-item> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> + <el-button @click="cancel">鍙� 娑�</el-button> + </div> + </el-dialog> + </div> +</template> + +<script> +import { listData, getData, delData, addData, updateData } from "@/api/system/dict/data"; +import { optionselect as getDictOptionselect, getType } from "@/api/system/dict/type"; + +export default { + name: "Data", + // dicts: ['sys_normal_disable'], + data() { + return { + constants: this.$constants, + // 閬僵灞� + loading: true, + // 閫変腑鏁扮粍 + ids: [], + // 闈炲崟涓鐢� + single: true, + // 闈炲涓鐢� + multiple: true, + // 鏄剧ず鎼滅储鏉′欢 + showSearch: true, + // 鎬绘潯鏁� + total: 0, + // 瀛楀吀琛ㄦ牸鏁版嵁 + dataList: [], + // 榛樿瀛楀吀绫诲瀷 + defaultDictType: "", + // 寮瑰嚭灞傛爣棰� + title: "", + // 鏄惁鏄剧ず寮瑰嚭灞� + open: false, + // 鏁版嵁鏍囩鍥炴樉鏍峰紡 + listClassOptions: [ + { + value: "default", + label: "榛樿" + }, + { + value: "primary", + label: "涓昏" + }, + { + value: "success", + label: "鎴愬姛" + }, + { + value: "info", + label: "淇℃伅" + }, + { + value: "warning", + label: "璀﹀憡" + }, + { + value: "danger", + label: "鍗遍櫓" + } + ], + // 绫诲瀷鏁版嵁瀛楀吀 + typeOptions: [], + // 鏌ヨ鍙傛暟 + queryParams: { + pageNum: 1, + pageSize: 10, + dictName: undefined, + dictType: undefined, + status: undefined + }, + // 琛ㄥ崟鍙傛暟 + form: { + status: '1' + }, + // 琛ㄥ崟鏍¢獙 + rules: { + dict_code: [ + { required: true, message: "瀛楀吀id蹇呴』杈撳叆", trigger: "blur" } + ], + dict_label: [ + { required: true, message: "鏁版嵁鏍囩涓嶈兘涓虹┖", trigger: "blur" } + ], + parent_id: [ + { required: true, message: "鐖秈d涓嶈兘涓虹┖", trigger: "blur" } + ], + // dict_value: [ + // { required: true, message: "鏁版嵁閿�间笉鑳戒负绌�", trigger: "blur" } + // ], + dict_sort: [ + { required: true, message: "鏁版嵁椤哄簭涓嶈兘涓虹┖", trigger: "blur" } + ] + }, + editMode: false + }; + }, + created() { + const dictId = this.$route.params && this.$route.params.dictId; + this.getType(dictId); + this.getTypeList(); + }, + methods: { + /** 鏌ヨ瀛楀吀绫诲瀷璇︾粏 */ + getType(dictId) { + getType(dictId).then(response => { + // this.queryParams.dictType = response.data.dict_type; + // this.defaultDictType = response.data.dict_type; + this.queryParams.dictType = response.dict_type; + this.defaultDictType = response.dict_type; + this.getList(); + }); + }, + /** 鏌ヨ瀛楀吀绫诲瀷鍒楄〃 */ + getTypeList() { + getDictOptionselect().then(response => { + this.typeOptions = response.data; + }); + }, + /** 鏌ヨ瀛楀吀鏁版嵁鍒楄〃 */ + getList() { + this.loading = true; + listData(this.queryParams).then(response => { + this.dataList = response.datas; + this.total = response.totalRows; + this.loading = false; + }); + }, + // 鍙栨秷鎸夐挳 + cancel() { + this.open = false; + this.reset(); + }, + // 琛ㄥ崟閲嶇疆 + reset() { + this.form = { + dict_code: undefined, + dict_label: undefined, + dict_value: undefined, + css_class: undefined, + list_class: 'default', + dict_sort: 0, + status: "0", + parent_id: undefined, + remark: undefined + }; + this.resetForm("form"); + }, + /** 鎼滅储鎸夐挳鎿嶄綔 */ + handleQuery() { + this.queryParams.pageNum = 1; + this.getList(); + }, + /** 杩斿洖鎸夐挳鎿嶄綔 */ + handleClose() { + const obj = { path: "/system/dict" }; + this.$tab.closeOpenPage(obj); + }, + /** 閲嶇疆鎸夐挳鎿嶄綔 */ + resetQuery() { + this.resetForm("queryForm"); + this.queryParams.dictType = this.defaultDictType; + this.handleQuery(); + }, + /** 鏂板鎸夐挳鎿嶄綔 */ + handleAdd() { + this.reset(); + this.editMode = false; + this.open = true; + this.title = "娣诲姞瀛楀吀鏁版嵁"; + // this.form.dictType = this.queryParams.dictType; + this.form.dict_type = this.queryParams.dictType; + }, + // 澶氶�夋閫変腑鏁版嵁 + handleSelectionChange(selection) { + this.ids = selection.map(item => item.dictCode) + this.single = selection.length!=1 + this.multiple = !selection.length + }, + /** 淇敼鎸夐挳鎿嶄綔 */ + handleUpdate(row) { + this.reset(); + this.editMode = true; + const dictCode = row.dict_code || this.ids + getData(dictCode).then(response => { + this.form = response; + this.open = true; + this.title = "淇敼瀛楀吀鏁版嵁"; + }); + }, + /** 鎻愪氦鎸夐挳 */ + submitForm: function() { + this.$refs["form"].validate(valid => { + if (valid) { + // if (this.form.dict_code != undefined) { + if (this.editMode == true) { + updateData(this.form).then(response => { + this.$store.dispatch('dict/removeDict', this.queryParams.dictType); + this.$modal.msgSuccess("淇敼鎴愬姛"); + this.open = false; + this.getList(); + }); + } else { + console.log(this.form); + addData(this.form).then(response => { + this.$store.dispatch('dict/removeDict', this.queryParams.dictType); + this.$modal.msgSuccess("鏂板鎴愬姛"); + this.open = false; + this.getList(); + }); + } + } + }); + }, + /** 鍒犻櫎鎸夐挳鎿嶄綔 */ + handleDelete(row) { + const dictCodes = row.dict_code || this.ids; + this.$modal.confirm('鏄惁纭鍒犻櫎瀛楀吀缂栫爜涓�"' + dictCodes + '"鐨勬暟鎹」锛�').then(function() { + return delData(dictCodes); + }).then(() => { + this.getList(); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + this.$store.dispatch('dict/removeDict', this.queryParams.dictType); + }).catch(() => {}); + }, + /** 瀵煎嚭鎸夐挳鎿嶄綔 */ + handleExport() { + this.download('system/dict/data/export', { + ...this.queryParams + }, `data_${new Date().getTime()}.xlsx`) + } + } +}; +</script> -- Gitblit v1.9.1