From f1bd530bc3fcfc006426ebd2e79d0b09c31ba41f Mon Sep 17 00:00:00 2001 From: lkk <364857242@qq.com> Date: 星期二, 24 六月 2025 16:34:47 +0800 Subject: [PATCH] 1 --- src/views/hosp/advicerules/index.vue | 495 ++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 397 insertions(+), 98 deletions(-) diff --git a/src/views/hosp/advicerules/index.vue b/src/views/hosp/advicerules/index.vue index 8c18cfb..b61755d 100644 --- a/src/views/hosp/advicerules/index.vue +++ b/src/views/hosp/advicerules/index.vue @@ -1,66 +1,134 @@ <template> <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> + <el-form + :model="queryParams" + ref="queryForm" + size="small" + :inline="true" + v-show="showSearch" + label-width="68px" + > <el-form-item label="绉戝" prop="ks"> - <el-input v-model="queryParams.ks" placeholder="璇疯緭鍏ョ瀹�" clearable @keyup.enter.native="handleQuery" /> + <el-input + v-model="queryParams.ks" + placeholder="璇疯緭鍏ョ瀹�" + clearable + @keyup.enter.native="handleQuery" + /> </el-form-item> <el-form-item label="妫�鏌ラ」鐩�" prop="jcxm"> - <el-input v-model="queryParams.jcxm" placeholder="璇疯緭鍏ユ鏌ラ」鐩�" clearable @keyup.enter.native="handleQuery" /> + <el-input + v-model="queryParams.jcxm" + placeholder="璇疯緭鍏ユ鏌ラ」鐩�" + clearable + @keyup.enter.native="handleQuery" + /> </el-form-item> <el-form-item label="涓昏璇婃柇" prop="zyzd"> - <el-input v-model="queryParams.zyzd" placeholder="璇疯緭鍏ヤ富瑕佽瘖鏂�" clearable @keyup.enter.native="handleQuery" /> + <el-input + v-model="queryParams.zyzd" + placeholder="璇疯緭鍏ヤ富瑕佽瘖鏂�" + clearable + @keyup.enter.native="handleQuery" + /> </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-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="['hosp:advicerules:add']">鏂板 + <el-button + type="primary" + icon="el-icon-plus" + size="mini" + @click="handleAdd" + v-hasPermi="['hosp:advicerules:add']" + >鏂板 </el-button> </el-col> <el-col :span="1.5"> - <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" - v-hasPermi="['hosp:advicerules:edit']">淇敼 + <el-button + type="primary" + icon="el-icon-edit" + size="mini" + :disabled="single" + @click="handleUpdate" + v-hasPermi="['hosp:advicerules:edit']" + >淇敼 </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="['hosp:advicerules:remove']">鍒犻櫎 + <el-button + type="primary" + icon="el-icon-delete" + size="mini" + :disabled="multiple" + @click="handleDelete" + v-hasPermi="['hosp:advicerules:remove']" + >鍒犻櫎 + </el-button> + </el-col> + <!-- <el-col :span="1.5"> + <el-button type="primary" icon="el-icon-upload2" size="mini" @click="handleImport">瀵煎叆 </el-button> </el-col> <el-col :span="1.5"> - <el-button type="warning" plain icon="el-icon-upload2" size="mini" @click="handleImport">瀵煎叆 - </el-button> - </el-col> - <el-col :span="1.5"> - <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" + <el-button type="primary" icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['hosp:advicerules:export']">瀵煎嚭 </el-button> - </el-col> - <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> + </el-col> --> + <!-- <right-toolbar + :showSearch.sync="showSearch" + @queryTable="getList" + ></right-toolbar> --> </el-row> <el-row :gutter="20" style="display: flex"> - <el-col :span="5" :xs="24"> + <el-col :span="3" :xs="24"> <div class="head-container"> - <el-input v-model="xmmc" placeholder="璇疯緭鍏ラ」鐩悕" clearable size="small" prefix-icon="el-icon-search" - style="margin-bottom: 20px" /> + <el-input + v-model="xmmc" + placeholder="璇疯緭鍏ラ」鐩悕" + clearable + size="small" + prefix-icon="el-icon-search" + style="margin-bottom: 20px" + /> </div> <div class="scrollable-container"> <div class="content"> - <el-tree :data="deptOptions" :props="defaultProps" :expand-on-click-node="false" - :filter-node-method="filterNode" ref="tree" node-key="id" :default-expanded-keys="treeId" - highlight-current @node-click="handleNodeClick" /> + <el-tree + :data="deptOptions" + :props="defaultProps" + :expand-on-click-node="false" + :filter-node-method="filterNode" + ref="tree" + node-key="id" + :default-expanded-keys="treeId" + highlight-current + @node-click="handleNodeClick" + /> </div> </div> </el-col> - <el-col :span="19" :xs="24"> - - <el-table v-loading="loading" :data="advicerulesList" @selection-change="handleSelectionChange" height="520"> + <el-col :span="20" :xs="24"> + <el-table + v-loading="loading" + :data="advicerulesList" + @selection-change="handleSelectionChange" + height="520" + > <el-table-column type="selection" width="55" align="center" /> <el-table-column label="搴忓彿" width="50" align="center"> <template slot-scope="scope"> @@ -71,10 +139,33 @@ <el-table-column label="缂栫爜" align="center" prop="bm" /> <el-table-column label="绉戝" align="center" prop="ks" /> <el-table-column label="妫�鏌ラ」鐩�" align="center" prop="jcxm" /> - <el-table-column label="涓昏璇婃柇" align="center" :show-overflow-tooltip="true" width="120" prop="zyzd" /> - <el-table-column label="寤鸿鍚嶇О" align="center" :show-overflow-tooltip="true" width="150" prop="jymc" /> - <el-table-column label="寤鸿鍐呭" align="center" :show-overflow-tooltip="true" width="200" prop="jynr" /> - <el-table-column label="鎬у埆" align="center" prop="xb" :formatter="formatSex" /> + <el-table-column + label="涓昏璇婃柇" + align="center" + :show-overflow-tooltip="true" + width="120" + prop="zyzd" + /> + <el-table-column + label="寤鸿鍚嶇О" + align="center" + :show-overflow-tooltip="true" + width="150" + prop="jymc" + /> + <el-table-column + label="寤鸿鍐呭" + align="center" + :show-overflow-tooltip="true" + width="200" + prop="jynr" + /> + <el-table-column + label="鎬у埆" + align="center" + prop="xb" + :formatter="formatSex" + /> <el-table-column label="鑼冨洿" align="center" prop="fwz" /> <el-table-column label="鑼冨洿鏈�灏忓��" align="center" prop="fwzxz" /> <el-table-column label="鑼冨洿鏈�澶у��" align="center" prop="fwzdz" /> @@ -85,54 +176,137 @@ </el-table-column> <el-table-column label="鏄惁鎱㈡�х梾" align="center" prop="sfmxb"> </el-table-column> - <el-table-column label="鏄惁閲嶅ぇ鐤剧梾" align="center" width="120" prop="sfzdjb"></el-table-column> - <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> + <el-table-column + label="鏄惁閲嶅ぇ鐤剧梾" + align="center" + width="120" + prop="sfzdjb" + ></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="['hosp:advicerules:edit']"> + <el-button + size="mini" + type="text" + icon="el-icon-edit" + @click="handleUpdate(scope.row)" + v-hasPermi="['hosp:advicerules:edit']" + > </el-button> - <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" - v-hasPermi="['hosp:advicerules:remove']"> + <el-button + size="mini" + type="text" + icon="el-icon-delete" + @click="handleDelete(scope.row)" + v-hasPermi="['hosp:advicerules:remove']" + > </el-button> </template> </el-table-column> </el-table> <div class="pag"> - <div class="pag1"> - <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" @pagination="getListByXmId" /> - </div> - </div> + <div class="pag1"> + <pagination + v-show="total > 0" + :total="total" + :page.sync="queryParams.pageNum" + :limit.sync="queryParams.pageSize" + @pagination="getListByXmId" + /> + </div> + </div> </el-col> </el-row> - <!-- 娣诲姞鎴栦慨鏀逛綋妫�椤圭洰寤鸿瑙勫垯鏂拌〃瀵硅瘽妗� --> - <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body :close-on-click-modal="false"> - <el-form ref="form" :model="form" :rules="rules" label-width="80px" :inline="true"> + <el-dialog + :title="title" + :visible.sync="open" + width="1000px" + append-to-body + :close-on-click-modal="false" + > + <el-form + ref="form" + :model="form" + :rules="rules" + label-width="80px" + :inline="true" + > <el-form-item label="绉戝" prop="ks"> - <el-select v-model="form.ks" placeholder="璇烽�夋嫨绉戝" style="width: 200px" @change="idFn"> - <el-option v-for="item in departmentOptions" :key="item.id" :label="item.label" :value="item.label" /> + <el-select + :rules="rules" + v-model="form.ks" + placeholder="璇烽�夋嫨绉戝" + style="width: 200px" + @change="idFn" + > + <el-option + v-for="item in departmentOptions" + :key="item.id" + :label="item.label" + :value="item.label" + /> </el-select> </el-form-item> <el-form-item label="妫�鏌ラ」鐩�" prop="jcxm"> - <el-input v-model="form.jcxm" placeholder="璇疯緭鍏ユ鏌ラ」鐩�" style="width: 200px" /> + <el-input + v-model="form.jcxm" + placeholder="璇疯緭鍏ユ鏌ラ」鐩�" + style="width: 200px" + /> </el-form-item> <el-form-item label="涓昏璇婃柇" prop="zyzd"> - <el-input v-model="form.zyzd" placeholder="璇疯緭鍏ヤ富瑕佽瘖鏂�" style="width: 200px" /> + <el-input + v-model="form.zyzd" + placeholder="璇疯緭鍏ヤ富瑕佽瘖鏂�" + style="width: 200px" + /> </el-form-item> <el-form-item label="鑼冨洿" prop="fwz"> - <el-input v-model="form.fwz" placeholder="璇疯緭鍏ヨ寖鍥�" style="width: 200px" /> + <el-input + v-model="form.fwz" + placeholder="璇疯緭鍏ヨ寖鍥�" + style="width: 200px" + /> </el-form-item> <el-form-item label="鏈�灏忓��" prop="fwzxz"> - <el-input v-model="form.fwzxz" style="width: 200px" placeholder="璇疯緭鍏ヨ寖鍥存渶灏忓��" /> + <el-input + v-model="form.fwzxz" + style="width: 200px" + placeholder="璇疯緭鍏ヨ寖鍥存渶灏忓��" + /> </el-form-item> <el-form-item label="鏈�澶у��" prop="fwzdz"> - <el-input v-model="form.fwzdz" style="width: 200px" placeholder="璇疯緭鍏ヨ寖鍥存渶澶у��" /> + <el-input + v-model="form.fwzdz" + style="width: 200px" + placeholder="璇疯緭鍏ヨ寖鍥存渶澶у��" + /> </el-form-item> <el-form-item label="寮傚父鏍囧織" prop="ycbz"> - <el-input v-model="form.ycbz" style="width: 200px" placeholder="璇疯緭鍏ュ紓甯告爣蹇�" /> + <!-- <el-input + v-model="form.ycbz" + style="width: 200px" + placeholder="璇疯緭鍏ュ紓甯告爣蹇�" + /> --> + <el-select + v-model="form.ycbz" + placeholder="璇烽�夋嫨寮傚父鏍囧織" + style="width: 200px" + clearable + > + <el-option + v-for="item in ycdata" + :key="item.value" + :label="item.label" + :value="item.label" + ></el-option> + </el-select> </el-form-item> <el-form-item label="鐤剧梾" prop="sfjb"> @@ -140,31 +314,66 @@ </el-checkbox> </el-form-item> <el-form-item label="甯歌鐥�" prop="sfcjb"> - <el-checkbox v-model="form.sfcjb" true-label="鏄�" false-label=""></el-checkbox> + <el-checkbox + v-model="form.sfcjb" + true-label="鏄�" + false-label="" + ></el-checkbox> </el-form-item> <el-form-item label="鎱㈡�х梾" prop="sfmxb"> - <el-checkbox v-model="form.sfmxb" true-label="鏄�" false-label=""></el-checkbox> + <el-checkbox + v-model="form.sfmxb" + true-label="鏄�" + false-label="" + ></el-checkbox> </el-form-item> <el-form-item label="閲嶅ぇ鐤剧梾" prop="sfzdjb"> - <el-checkbox v-model="form.sfzdjb" true-label="鏄�" false-label=""></el-checkbox> + <el-checkbox + v-model="form.sfzdjb" + true-label="鏄�" + false-label="" + ></el-checkbox> </el-form-item> <el-form-item label="鎬у埆" prop="xb"> - <el-select v-model="form.xb" placeholder="璇烽�夋嫨浣撴浜烘�у埆" style="width: 200px" clearable> - <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label" - :value="dict.value"></el-option> + <el-select + v-model="form.xb" + placeholder="璇烽�夋嫨浣撴浜烘�у埆" + style="width: 200px" + clearable + > + <el-option + v-for="dict in dict.type.sys_user_sex" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> </el-select> </el-form-item> <el-form-item label="寤鸿鍚嶇О" prop="jymc" style="display: block"> - <el-input v-model="form.jymc" placeholder="璇疯緭鍏ュ缓璁悕绉�" style="width: 200px" /> + <el-input + v-model="form.jymc" + placeholder="璇疯緭鍏ュ缓璁悕绉�" + style="width: 200px" + /> </el-form-item> <el-form-item label="寤鸿鍐呭" prop="jynr"> - <span slot="label" style="display: inline-block; border-bottom: 2px solid blue" @click="getDetailed"> + <span + slot="label" + style="display: inline-block; border-bottom: 2px solid blue" + @click="getDetailed" + > 寤鸿鍐呭 </span> - <el-input v-if="key !== 'N'" style="width: 782px" type="textarea" :rows="3" v-model="form.jynr" - placeholder="璇疯緭鍏ュ缓璁唴瀹�"> + <el-input + v-if="key !== 'N'" + style="width: 782px" + type="textarea" + :rows="3" + v-model="form.jynr" + placeholder="璇疯緭鍏ュ缓璁唴瀹�" + > </el-input> </el-form-item> </el-form> @@ -174,10 +383,25 @@ </div> </el-dialog> - <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body> - <el-upload ref="upload" :limit="1" accept=".xlsx, .xls" :headers="upload.headers" :data="data" - :action="upload.url" :disabled="upload.isUploading" :on-progress="handleFileUploadProgress" - :on-success="handleFileSuccess" :auto-upload="false" drag> + <el-dialog + :title="upload.title" + :visible.sync="upload.open" + width="400px" + append-to-body + > + <el-upload + ref="upload" + :limit="1" + accept=".xlsx, .xls" + :headers="upload.headers" + :data="data" + :action="upload.url" + :disabled="upload.isUploading" + :on-progress="handleFileUploadProgress" + :on-success="handleFileSuccess" + :auto-upload="false" + drag + > <i class="el-icon-upload"></i> <div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div> <div class="el-upload__tip text-center" slot="tip"> @@ -202,32 +426,87 @@ </el-dialog> <!-- 寤鸿鍐呭鍙婂缓璁悕绉板脊妗� --> - <el-dialog title="寤鸿鍐呭" :visible.sync="dialogTableVisible" width="80%" :close-on-click-modal="false" - @close="clearForm"> + <el-dialog + title="寤鸿鍐呭" + :visible.sync="dialogTableVisible" + width="80%" + :close-on-click-modal="false" + @close="clearForm" + > <div class="app-container"> - <el-form :model="form" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> + <el-form + :model="form" + ref="queryForm" + size="small" + :inline="true" + v-show="showSearch" + label-width="68px" + > <el-form-item label="鏍囬" prop="title"> - <el-input v-model="queryParam1.bt" placeholder="璇疯緭鍏ユ爣棰�" clearable @keyup.enter.native="handlecharge" /> + <el-input + v-model="queryParam1.bt" + placeholder="璇疯緭鍏ユ爣棰�" + clearable + @keyup.enter.native="handlecharge" + /> </el-form-item> <el-form-item label="寤鸿鍐呭" prop="jynr"> - <el-input v-model="queryParam1.nr" placeholder="璇疯緭鍏ュ缓璁�" clearable @keyup.enter.native="handlecharge" /> + <el-input + v-model="queryParam1.nr" + placeholder="璇疯緭鍏ュ缓璁�" + clearable + @keyup.enter.native="handlecharge" + /> </el-form-item> <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handlecharge">鎼滅储</el-button> + <el-button + type="primary" + icon="el-icon-search" + size="mini" + @click="handlecharge" + >鎼滅储</el-button + > </el-form-item> </el-form> - <el-table v-loading="loading" :data="adviceList" ref="tb" @selection-change="handleSelectionChange1" border> + <el-table + v-loading="loading" + :data="adviceList" + ref="tb" + @selection-change="handleSelectionChange1" + border + > <el-table-column type="selection" align="center" fixed /> - <el-table-column label="搴忓彿" align="center" width="60" prop="newID" /> - <el-table-column label="鏍囬" align="center" prop="title" width="120" :show-overflow-tooltip="true" /> - <el-table-column label="寤鸿" align="center" prop="advice" :show-overflow-tooltip="true" /> + <el-table-column + label="搴忓彿" + align="center" + width="60" + prop="newID" + /> + <el-table-column + label="鏍囬" + align="center" + prop="title" + width="120" + :show-overflow-tooltip="true" + /> + <el-table-column + label="寤鸿" + align="center" + prop="advice" + :show-overflow-tooltip="true" + /> </el-table> <div class="pag"> <div class="pag1"> - <pagination v-show="total > 0" :total="total" :page.sync="queryParam1.page" - :limit.sync="queryParam1.pageSize" @pagination="getlistJynr" /> + <pagination + v-show="total > 0" + :total="total" + :page.sync="queryParam1.page" + :limit.sync="queryParam1.pageSize" + @pagination="getlistJynr" + /> </div> </div> </div> @@ -261,6 +540,22 @@ loading: true, // 閫変腑鏁扮粍 ids: [], + ycdata: [ + { label: "鈫�", value: "up" }, + { label: "鈫�", value: "down" }, + { label: "闃虫��", value: "positive" }, + { label: "寮遍槼鎬�", value: "weak_positive" }, + { label: "4+", value: "4plus" }, + { label: "3+", value: "3plus" }, + { label: "2+", value: "2plus" }, + { label: "1+", value: "1plus" }, + { label: "+1", value: "plus1" }, + { label: "+2", value: "plus2" }, + { label: "+3", value: "plus3" }, + { label: "+4", value: "plus4" }, + { label: "+", value: "plus" }, + { label: "+-", value: "plus_minus" }, + ], // 闈炲崟涓鐢� single: true, // 闈炲涓鐢� @@ -317,10 +612,12 @@ }, // 琛ㄥ崟鍙傛暟 form: { - xb: "2", + // xb: "2", }, // 琛ㄥ崟鏍¢獙 - rules: {}, + rules: { + ks: [{ required: true, message: " ", trigger: ["blur", "change"] }], + }, upload: { // 鏄惁鏄剧ず寮瑰嚭灞傦紙鐢ㄦ埛瀵煎叆锛� open: false, @@ -349,9 +646,14 @@ treeId(newVal, oldVal) { if (newVal) { this.$nextTick(() => { - document - .querySelector(".el-tree-node__children .el-tree-node__content") - .click(); + const node = document.querySelector( + ".el-tree-node__children .el-tree-node__content" + ); + if (node) { + node.click(); + } else { + console.warn("娌℃湁鎵惧埌 el-tree 鑺傜偣锛屾棤娉曡Е鍙戠偣鍑�"); + } }); } }, @@ -365,6 +667,7 @@ this.total = response.total; this.loading = false; }); */ + getTjProAdvicerulesKsList().then((response) => { this.deptOptions = response.data.map((name, index) => { return { @@ -382,6 +685,8 @@ getListByXmId() { this.loading = true; listAdvicerules(this.queryParams).then((response) => { + console.log(response,123456); + response.rows.forEach((item, index) => { item.newID = (this.queryParams.pageNum - 1) * this.queryParams.pageSize + @@ -446,7 +751,7 @@ createBy: null, updateBy: null, deleted: null, - xb: "2", + // xb: "2", }; if (this.$refs.form) { this.$refs.form.resetFields(); @@ -455,7 +760,7 @@ /** 鎼滅储鎸夐挳鎿嶄綔 */ handleQuery() { this.queryParams.pageNum = 1; - this.getList(); + this.getListByXmId(); }, handlecharge() { this.querycharge.pageNum = 1; @@ -555,19 +860,18 @@ submitForm() { this.$refs["form"].validate((valid) => { if (valid) { + this.form.xb = this.form.xb === "1" ? "1" : null; if (this.form.id != null) { updateAdvicerules(this.form).then((response) => { - console.log(response, 1111333); - this.$modal.msgSuccess("淇敼鎴愬姛"); this.open = false; - this.getList(); + this.getListByXmId(); }); } else { addAdvicerules(this.form).then((response) => { this.$modal.msgSuccess("鏂板鎴愬姛"); this.open = false; - this.getList(); + this.getListByXmId(); }); } } @@ -648,22 +952,17 @@ </script> <style scoped> .scrollable-container { - width: 260px; - /* 璁剧疆瀹瑰櫒鐨勫搴� */ + width: 200px; height: 520px; - /* 璁剧疆瀹瑰櫒鐨勯珮搴� */ overflow: auto; - /* 鍏佽鍐呭婧㈠嚭鏃舵樉绀烘粴鍔ㄦ潯 */ border: 1px solid #ccc; - /* 鍙�夛細娣诲姞杈规浠ユ洿濂藉湴鏄剧ず瀹瑰櫒 */ position: relative; - /* 鍙�夛細浣垮鍣ㄥ唴鐨勭粷瀵瑰畾浣嶅厓绱犺兘澶熸纭樉绀� */ } .content { width: 1000px; /* 璁剧疆鍐呭鐨勫搴︼紝浠ヨЕ鍙戞按骞虫粴鍔ㄦ潯 */ - height: 420px; + height: 1000px; /* 璁剧疆鍐呭鐨勯珮搴︼紝浠ヨЕ鍙戝瀭鐩存粴鍔ㄦ潯 */ } .pag { -- Gitblit v1.8.0