From 495bf3ca62536c52cf78895501205965cae05828 Mon Sep 17 00:00:00 2001 From: qx <1084500556@qq.com> Date: 星期四, 03 七月 2025 17:39:22 +0800 Subject: [PATCH] qx --- src/views/hosp/part/index.vue | 190 ++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 179 insertions(+), 11 deletions(-) diff --git a/src/views/hosp/part/index.vue b/src/views/hosp/part/index.vue index cd12797..766c322 100644 --- a/src/views/hosp/part/index.vue +++ b/src/views/hosp/part/index.vue @@ -2,7 +2,7 @@ <div class="app-container"> <el-row :gutter="24"> <!-- 绗竴鍒楋細鍗曢�夋爣鏈� --> - <el-col :span="8" :xs="24"> + <el-col :span="6" :xs="24"> <el-form :model="queryParams" ref="queryForm" @@ -14,6 +14,7 @@ > <el-form-item label="椤圭洰鍚嶇О" prop="tjh"> <el-input + style="width: 140px" v-model="queryParams.tjh" placeholder="璇疯緭鍏ラ」鐩悕绉�" clearable @@ -22,7 +23,8 @@ </el-form-item> <el-form-item> <el-button type="primary" size="mini" @click="handleManual">鏌ヨ</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> + <el-button type="primary" size="mini" @click="handleAdd">鏂板</el-button> + <!-- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> --> </el-form-item> </el-form> @@ -39,15 +41,29 @@ > <el-table-column type="selection" width="40px" align="center" /> <el-table-column label="搴忓彿" align="center" type="index" width="50px" /> - <el-table-column label="鏍囨湰鍚嶇О" align="center" prop="label" show-overflow-tooltip /> + <el-table-column label="鏍囨湰鍚嶇О" align="center" show-overflow-tooltip> + <template slot-scope="scope"> + {{ scope.row.label ? scope.row.label : scope.row.dictLabel }} + </template> + </el-table-column> </el-table> </el-col> <!-- 绗簩鍒楋細涓棿閫変腑椤圭洰鍒楄〃 --> - <el-col :span="8" :xs="24"> - <el-form :model="form" size="small" :inline="true" label-width="68px" style="height: 45px" @submit.native.prevent /> + <el-col :span="9" :xs="24"> + <el-form :model="queryParams2" ref="queryForm" size="small" :inline="true" v-show="showSearch" + label-width="68px" style="height: 45px" @submit.native.prevent> + <el-form-item label="椤圭洰鍚嶇О" prop="proName"> + <el-input ref="inputName" v-model="queryParams2.proName" placeholder="璇疯緭鍏ラ」鐩悕绉�" clearable + @keyup.enter.native="handleyixuan" style="width: 140px" /> + </el-form-item> + <el-form-item> + <el-button type="primary" icon="el-icon-search" size="mini" @click="handleyixuan">鎼滅储</el-button> + </el-form-item> + </el-form> <el-table border + ref="tres" v-loading="loading" :data="OnenewpacName" height="478" @@ -67,7 +83,7 @@ </el-col> <!-- 绗笁鍒楋細鎼滅储 + 椤圭洰閫夋嫨 --> - <el-col :span="8" :xs="24"> + <el-col :span="9" :xs="24"> <el-form :model="queryParams1" ref="queryForm" @@ -106,21 +122,76 @@ </el-table> </el-col> </el-row> + + + + <!-- 娣诲姞鎴栦慨鏀瑰弬鏁伴厤缃璇濇 --> + <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> + <el-form ref="form" :model="form" :rules="rules" label-width="80px"> + <el-form-item label="瀛楀吀绫诲瀷"> + <el-input v-model="form.dictType" :disabled="true" /> + </el-form-item> + <el-form-item label="鏁版嵁鍚嶇О" prop="dictLabel"> + <el-input v-model="form.dictLabel" placeholder="璇疯緭鍏ユ暟鎹悕绉�" /> + </el-form-item> + <el-form-item label="鏁版嵁閿��" prop="dictValue"> + <el-input v-model="form.dictValue" placeholder="璇疯緭鍏ユ暟鎹敭鍊�" /> + </el-form-item> + <el-form-item label="鏍峰紡灞炴��" prop="cssClass"> + <el-input v-model="form.cssClass" placeholder="璇疯緭鍏ユ牱寮忓睘鎬�" /> + </el-form-item> + <el-form-item label="鏄剧ず鎺掑簭" prop="dictSort"> + <el-input-number v-model="form.dictSort" controls-position="right" :min="0" /> + </el-form-item> + <el-form-item label="鍥炴樉鏍峰紡" prop="listClass"> + <el-select v-model="form.listClass"> + <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 dict.type.sys_normal_disable" :key="dict.value" :label="dict.value">{{ dict.label + }}</el-radio> + </el-radio-group> + </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 { searchPart, delPart, editPart } from "@/api/hosp/part"; import { debounce } from 'lodash'; +import { getDicts, addData, updateData } from "@/api/system/dict/data"; export default { name: "Part", data() { + let checkPhoneNum = (rule, value, callback) => { + console.log(value) + let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/); + if (value == "" && value == undefined && !value) { + return callback(''); + } else if (value != undefined && value != "") { + return callback(); + } else if (!patter.test(value)) { + return callback(''); + } + }; return { loading: false, OnenewpacName: [], Treedata: [], originalTreedata: [], + Treedatas: [], queryParams: { tjh: '', tjCategory: null, @@ -128,15 +199,59 @@ queryParams1: { proName: '', }, - form: { - price: '', - }, + showSearch: true, filteredSpecimenData: [], originalSpecimenData: [], + queryParams2: { + proName: '', + }, + open: false, + // 琛ㄥ崟鍙傛暟 + form: {}, + title: "", + // 鏁版嵁鏍囩鍥炴樉鏍峰紡 + listClassOptions: [ + { + value: "default", + label: "榛樿" + }, + { + value: "primary", + label: "涓昏" + }, + { + value: "success", + label: "鎴愬姛" + }, + { + value: "info", + label: "淇℃伅" + }, + { + value: "warning", + label: "璀﹀憡" + }, + { + value: "danger", + label: "鍗遍櫓" + } + ], + // 琛ㄥ崟鏍¢獙 + rules: { + dictLabel: [ + { required: true, validator: checkPhoneNum, trigger: "blur" } + ], + dictValue: [ + { required: true, validator: checkPhoneNum, trigger: "blur" } + ], + dictSort: [ + { required: true, validator: checkPhoneNum, trigger: "blur" } + ] + }, }; }, - dicts: ["sys_dict_position"], + dicts: ["sys_dict_position","sys_normal_disable"], created() { this.fetchInitialBiaobenData(); this.initializeSpecimenData(); @@ -206,6 +321,22 @@ this.$message[this.filteredSpecimenData.length ? 'success' : 'warning']( this.filteredSpecimenData.length ? '鏌ヨ鎴愬姛' : '鏈壘鍒板尮閰嶇殑鏍囨湰' ); + }, + + handleyixuan() { + const searchText = this.queryParams2.proName?.trim().toLowerCase() || ''; + if (searchText) { + this.OnenewpacName = this.Treedatas.filter(item => + item.proName.toLowerCase().includes(searchText) + ); + this.OnenewpacName.length + ? this.$message.success('鏌ヨ鎴愬姛') + : this.$message.warning('鏈壘鍒板尮閰嶇殑椤圭洰'); + } else { + this.OnenewpacName = [...this.Treedatas]; + this.$message.info('宸叉樉绀烘墍鏈夐」鐩�'); + } + this.$refs.tres.clearSelection(); }, handleSpecimenSelect(selection, row) { console.log('鏍囨湰閫夋嫨瑙﹀彂:', { selection, row }); @@ -281,7 +412,8 @@ this.loading = true; searchPart({ bw }) .then(response => { - this.OnenewpacName = response.data || []; + this.Treedatas = response.data || []; + this.OnenewpacName = [...this.Treedatas]; this.loading = false; }) .catch(error => { @@ -305,6 +437,42 @@ this.loading = false; }); }, + /** 鏂板鎸夐挳鎿嶄綔 */ + handleAdd() { + this.open = true; + this.title = "娣诲姞瀛楀吀鏁版嵁"; + this.form.dictType = "sys_dict_position"; + }, + // 鍙栨秷鎸夐挳 + cancel() { + this.open = false; + this.reset(); + }, + /** 鎻愪氦鎸夐挳 */ + submitForm: function () { + this.$refs["form"].validate(valid => { + if (valid) { + if (this.form.dictCode != undefined) { + updateData(this.form).then(response => { + this.$store.dispatch('dict/removeDict', this.queryParams.dictType); + this.$modal.msgSuccess("淇敼鎴愬姛"); + this.open = false; + this.getList(); + }); + } else { + addData(this.form).then(response => { + this.$modal.msgSuccess("鏂板鎴愬姛"); + this.open = false; + let dictType = "sys_dict_position" + getDicts(dictType).then(response => { + this.originalSpecimenData= response.data ||[] + this.filteredSpecimenData =[...this.originalSpecimenData]; + }); + }); + } + } + }); + }, }, }; </script> -- Gitblit v1.8.0