From d4be39fedaed04b0f1f34808dc55369ed5b94e21 Mon Sep 17 00:00:00 2001
From: wwl <xchao828@163.com>
Date: 星期五, 16 五月 2025 17:59:09 +0800
Subject: [PATCH] BMI

---
 src/views/hosp/advicerules/index.vue |  495 +++++++++++++-----------------------------------------
 1 files changed, 121 insertions(+), 374 deletions(-)

diff --git a/src/views/hosp/advicerules/index.vue b/src/views/hosp/advicerules/index.vue
index e3620df..06722b4 100644
--- a/src/views/hosp/advicerules/index.vue
+++ b/src/views/hosp/advicerules/index.vue
@@ -1,86 +1,56 @@
 <template>
   <div class="app-container">
-    <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-form-item>
-      <el-form-item label="妫�鏌ラ」鐩�" prop="jcxm">
-        <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-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="['hosp:advicerules:add']"
-          >鏂板
-        </el-button>
+
+    <el-row :gutter="20" style="display: flex">
+      <el-col :span="4" :xs="24">
+        <div class="head-container">
+          <el-input v-model="xmmc" placeholder="璇疯緭鍏ラ」鐩悕" clearable size="small" prefix-icon="el-icon-search"
+            style="margin-bottom: 18px" />
+        </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" />
+          </div>
+        </div>
       </el-col>
-      <el-col :span="1.5">
-        <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="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-col :span="19" :xs="24">
+        <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-form-item>
+          <el-form-item label="妫�鏌ラ」鐩�" prop="jcxm">
+            <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-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="['hosp:advicerules:add']">鏂板
+            </el-button>
+          </el-col>
+          <el-col :span="1.5">
+            <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="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="warning"
           plain
@@ -101,47 +71,9 @@
           >瀵煎嚭
         </el-button>
       </el-col> -->
-      <right-toolbar
-        :showSearch.sync="showSearch"
-        @queryTable="getList"
-      ></right-toolbar>
-    </el-row>
-
-    <el-row :gutter="20" style="display: flex">
-      <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"
-          />
-        </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"
-            />
-          </div>
-        </div>
-      </el-col>
-      <el-col :span="20" :xs="24">
-        <el-table
-          v-loading="loading"
-          :data="advicerulesList"
-          @selection-change="handleSelectionChange"
-          height="520"
-        >
+          <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+        </el-row>
+        <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">
@@ -152,33 +84,10 @@
           <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" />
@@ -189,51 +98,27 @@
           </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"
-            />
+            <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
+              :limit.sync="queryParams.pageSize" @pagination="getListByXmId" />
           </div>
         </div>
       </el-col>
     </el-row>
-<!-- 
+    <!-- 
     <pagination
       v-show="total > 0"
       :total="total"
@@ -243,70 +128,28 @@
     /> -->
 
     <!-- 娣诲姞鎴栦慨鏀逛綋妫�椤圭洰寤鸿瑙勫垯鏂拌〃瀵硅瘽妗� -->
-    <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 v-model="form.ks" allow-create filterable 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
@@ -314,18 +157,8 @@
             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 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">
@@ -333,66 +166,31 @@
           </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>
@@ -402,25 +200,10 @@
       </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">
@@ -445,87 +228,32 @@
     </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>
@@ -739,6 +467,15 @@
           this.form.ks = item.label;
         }
       });
+
+
+      // 濡傛灉杈撳叆鐨勫�间笉鍦ㄩ�夐」涓紝鑷姩娣诲姞鍒板垪琛�
+      if (!this.departmentOptions.some(item => item.value === value)) {
+        this.departmentOptions.push({
+          value: value,
+          label: value
+        });
+      }
     },
     // 鍙栨秷鎸夐挳
     cancel() {
@@ -966,6 +703,16 @@
 </script>
 
 <style scoped>
+
+.pag {
+  width: 100%;
+  display: flex;
+  justify-content: center;
+}
+
+.pag1 {
+  width: 60%;
+}
 .scrollable-container {
   width: 200px;
   height: 520px;

--
Gitblit v1.8.0