From 222c1ceea2edd44fb660f384793baf8877bffc20 Mon Sep 17 00:00:00 2001
From: lkk <364857242@qq.com>
Date: 星期一, 30 六月 2025 15:37:51 +0800
Subject: [PATCH] 1

---
 src/views/hosp/advicerules/index.vue |  619 +++++++++++++++++++++++++-------------------------------
 1 files changed, 278 insertions(+), 341 deletions(-)

diff --git a/src/views/hosp/advicerules/index.vue b/src/views/hosp/advicerules/index.vue
index a4c9279..12f41e6 100644
--- a/src/views/hosp/advicerules/index.vue
+++ b/src/views/hosp/advicerules/index.vue
@@ -1,88 +1,54 @@
 <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="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="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="success"
-          plain
-          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>
-      </el-col>
-      <el-col :span="1.5">
+        <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
@@ -102,222 +68,127 @@
           v-hasPermi="['hosp:advicerules:export']"
           >瀵煎嚭
         </el-button>
+      </el-col> -->
+          <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">
+              {{ scope.$index + 1 }}
+              <!-- 浣跨敤 $index 鏉ユ樉绀哄簭鍙凤紝浠�1寮�濮� -->
+            </template>
+          </el-table-column>
+          <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" prop="fwz" />
+          <el-table-column label="鑼冨洿鏈�灏忓��" align="center" prop="fwzxz" />
+          <el-table-column label="鑼冨洿鏈�澶у��" align="center" prop="fwzdz" />
+          <el-table-column label="寮傚父鏍囧織" align="center" prop="ycbz" />
+          <el-table-column label="鏄惁鐤剧梾" align="center" prop="sfjb">
+          </el-table-column>
+          <el-table-column label="鏄惁甯歌鐥�" align="center" prop="sfcjb">
+          </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">
+            <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>
+              <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>
       </el-col>
-      <right-toolbar
-        :showSearch.sync="showSearch"
-        @queryTable="getList"
-      ></right-toolbar>
     </el-row>
-
-    <el-table
-      v-loading="loading"
-      :data="advicerulesList"
-      @selection-change="handleSelectionChange"
-    >
-      <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="搴忓彿" width="50" align="center">
-        <template slot-scope="scope">
-          {{ scope.$index + 1 }}
-          <!-- 浣跨敤 $index 鏉ユ樉绀哄簭鍙凤紝浠�1寮�濮� -->
-        </template>
-      </el-table-column>
-      <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="fwz" />
-      <el-table-column label="鑼冨洿鏈�灏忓��" align="center" prop="fwzxz" />
-      <el-table-column label="鑼冨洿鏈�澶у��" align="center" prop="fwzdz" />
-      <el-table-column label="寮傚父鏍囧織" align="center" prop="ycbz" />
-      <el-table-column label="鏄惁鐤剧梾" align="center" prop="sfjb">
-      </el-table-column>
-      <el-table-column label="鏄惁甯歌鐥�" align="center" prop="sfcjb">
-      </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"
-      >
-        <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>
-          <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>
-
+    <!-- 
     <pagination
       v-show="total > 0"
       :total="total"
       :page.sync="queryParams.pageNum"
       :limit.sync="queryParams.pageSize"
       @pagination="getList"
-    />
+    /> -->
 
     <!-- 娣诲姞鎴栦慨鏀逛綋妫�椤圭洰寤鸿瑙勫垯鏂拌〃瀵硅瘽妗� -->
-    <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
+          <!-- <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">
           <el-checkbox v-model="form.sfjb" true-label="鏄�" false-label="鍚�">
           </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>
         </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>
@@ -327,25 +198,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">
@@ -370,87 +226,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>
@@ -469,6 +270,7 @@
   delAdvicerules,
   addAdvicerules,
   updateAdvicerules,
+  getTjProAdvicerulesKsList,
 } from "@/api/hosp/advicerules";
 import { listAdvice } from "@/api/advice/advice";
 import { getToken } from "@/utils/auth";
@@ -476,12 +278,29 @@
 
 export default {
   name: "Advicerules",
+  dicts: ["sys_user_sex"],
   data() {
     return {
       // 閬僵灞�
       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,
       // 闈炲涓鐢�
@@ -494,15 +313,22 @@
       // 浣撴椤圭洰寤鸿瑙勫垯鏂拌〃琛ㄦ牸鏁版嵁
       advicerulesList: [],
       adviceList: [],
+      deptOptions: [],
+      treeId: [],
       // 寮瑰嚭灞傛爣棰�
       title: "",
       // 鏄惁鏄剧ず寮瑰嚭灞�
       open: false,
       key: "",
+      xmmc: "",
       moduleName: "exampleModule", // 绀轰緥妯″潡鍚�
       businessName: "exampleBusiness", // 绀轰緥涓氬姟鍚�
       objs: {},
       departmentOptions: [],
+      defaultProps: {
+        children: "children",
+        label: "label",
+      },
       // 鏌ヨ鍙傛暟
       queryParams: {
         pageNum: 1,
@@ -529,9 +355,13 @@
         pageSize: 10,
       },
       // 琛ㄥ崟鍙傛暟
-      form: {},
+      form: {
+        xb: "2",
+      },
       // 琛ㄥ崟鏍¢獙
-      rules: {},
+      rules: {
+        ks: [{ required: true, message: " ", trigger: ["blur", "change"] }],
+      },
       upload: {
         // 鏄惁鏄剧ず寮瑰嚭灞傦紙鐢ㄦ埛瀵煎叆锛�
         open: false,
@@ -552,15 +382,80 @@
   created() {
     this.getList();
   },
+  watch: {
+    // 鏍规嵁鍚嶇О绛涢�夐儴闂ㄦ爲
+    xmmc(val) {
+      this.$refs.tree.filter(val);
+    },
+    treeId(newVal, oldVal) {
+      if (newVal) {
+        this.$nextTick(() => {
+          const node = document.querySelector(
+            ".el-tree-node__children .el-tree-node__content"
+          );
+          if (node) {
+            node.click();
+          } else {
+            console.warn("娌℃湁鎵惧埌 el-tree 鑺傜偣锛屾棤娉曡Е鍙戠偣鍑�");
+          }
+        });
+      }
+    },
+  },
   methods: {
     /** 鏌ヨ浣撴椤圭洰寤鸿瑙勫垯鏂拌〃鍒楄〃 */
     getList() {
+      // this.loading = true;
+      // listAdvicerules(this.queryParams).then((response) => {
+      //   this.advicerulesList = response.rows;
+      //   this.total = response.total;
+      //   this.loading = false;
+      // });
+      getTjProAdvicerulesKsList().then((response) => {
+        this.deptOptions = response.data.map((name, index) => {
+          return {
+            id: index + 1, // 鍙嚜瀹氫箟鍞竴 ID
+            label: name, // el-tree 榛樿鐨勬樉绀哄瓧娈�
+          };
+        });
+
+        // 璁剧疆榛樿灞曞紑椤�
+        this.treeId = [this.deptOptions[0]?.id];
+        this.queryParams.proId = this.deptOptions[0]?.id;
+        this.getListByXmId();
+      });
+    },
+
+    handleNodeClick(data) {
+      this.formIn = data;
+      this.queryParams.ks = data.label;
+      this.getListByXmId();
+    },
+
+    getListByXmId() {
       this.loading = true;
       listAdvicerules(this.queryParams).then((response) => {
+        response.rows.forEach((item, index) => {
+          item.newID =
+            (this.queryParams.pageNum - 1) * this.queryParams.pageSize +
+            index +
+            1;
+        });
         this.advicerulesList = response.rows;
         this.total = response.total;
         this.loading = false;
       });
+    },
+
+    // 绛涢�夎妭鐐�
+    filterNode(value, data) {
+      if (!value) return true;
+      // return data.label.indexOf(value) !== -1;
+      return (
+        data.label &&
+        typeof data.label === "string" &&
+        data.label.indexOf(value) !== -1
+      );
     },
 
     idFn(value) {
@@ -570,11 +465,26 @@
           this.form.ks = item.label;
         }
       });
+
+
+      // 濡傛灉杈撳叆鐨勫�间笉鍦ㄩ�夐」涓紝鑷姩娣诲姞鍒板垪琛�
+      if (!this.departmentOptions.some(item => item.value === value)) {
+        this.departmentOptions.push({
+          value: value,
+          label: value
+        });
+      }
     },
     // 鍙栨秷鎸夐挳
     cancel() {
       this.open = false;
       this.reset();
+    },
+    formatSex(row) {
+      const dictItem = this.dict.type.sys_user_sex.find(
+        (item) => item.value === row.xb
+      );
+      return dictItem ? dictItem.label : "";
     },
     // 琛ㄥ崟閲嶇疆
     reset() {
@@ -599,6 +509,7 @@
         createBy: null,
         updateBy: null,
         deleted: null,
+        xb: "2",
       };
       this.resetForm("form");
     },
@@ -697,6 +608,7 @@
     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);
@@ -743,7 +655,6 @@
     handleFileSuccess(response, file, fileList) {
       console.log(response, 666666);
       if (response.code == 500) {
-        console.log(22222222222);
         const errorList = response.data.list.join(", ");
         this.$confirm(`${errorList}`, "浠ヤ笅浜哄憳淇℃伅鏈夎锛岃鏍稿鍚庡鍏ワ細", {
           confirmButtonText: "纭畾",
@@ -789,3 +700,29 @@
 };
 </script>
 
+<style scoped>
+
+.pag {
+  width: 100%;
+  display: flex;
+  justify-content: center;
+}
+
+.pag1 {
+  width: 60%;
+}
+.scrollable-container {
+  width: 200px;
+  height: 520px;
+  overflow: auto;
+  border: 1px solid #ccc;
+  position: relative;
+}
+
+.content {
+  width: 1000px;
+  /* 璁剧疆鍐呭鐨勫搴︼紝浠ヨЕ鍙戞按骞虫粴鍔ㄦ潯 */
+  height: 1000px;
+  /* 璁剧疆鍐呭鐨勯珮搴︼紝浠ヨЕ鍙戝瀭鐩存粴鍔ㄦ潯 */
+}
+</style>
\ No newline at end of file

--
Gitblit v1.8.0