From b8085c12e2f5542210c8a73a997e0b88d39e18b0 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期四, 20 三月 2025 16:45:56 +0800
Subject: [PATCH] 测试完成

---
 src/views/patient/patient/index.vue |  732 ++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 526 insertions(+), 206 deletions(-)

diff --git a/src/views/patient/patient/index.vue b/src/views/patient/patient/index.vue
index 3f579d0..bc2a4eb 100644
--- a/src/views/patient/patient/index.vue
+++ b/src/views/patient/patient/index.vue
@@ -12,8 +12,8 @@
           v-model="queryParams.allhosp"
           @tab-click="handleClick"
         >
-          <el-tab-pane label="鎮h�呭垪琛�" name="0"></el-tab-pane>
-          <el-tab-pane label="浣忛櫌鎮h��" name="1"></el-tab-pane>
+          <!-- <el-tab-pane label="鎮h�呭垪琛�" name="0"></el-tab-pane> -->
+          <el-tab-pane label="鍑哄叆闄㈡偅鑰�" name="1"></el-tab-pane>
           <el-tab-pane label="闂ㄨ瘖鎮h��" name="2"></el-tab-pane>
           <el-tab-pane label="浣撴鎮h��" name="3"></el-tab-pane>
         </el-tabs>
@@ -22,11 +22,14 @@
     <!-- 鍙充晶鏁版嵁 -->
 
     <div class="leftvlue">
-      <div>
+      <!-- <div>
         <el-row :gutter="10">
           <el-col :span="2.5" v-for="(item, index) in cardlist" :key="index">
-            <el-card shadow="hover">
-              <div style="padding: 8px">
+            <el-card
+              shadow="hover"
+              :body-style="item.router ? ' cursor: pointer' : 'cursor: default'"
+            >
+              <div style="padding: 8px" @click="$router.push(item.router)">
                 <span>{{ item.name }}</span>
                 <div
                   style="
@@ -42,7 +45,7 @@
             </el-card>
           </el-col>
         </el-row>
-      </div>
+      </div> -->
       <div class="leftvlue-bg">
         <el-row :gutter="20">
           <!--鐢ㄦ埛鏁版嵁-->
@@ -55,7 +58,7 @@
               v-show="showSearch"
               label-width="98px"
             >
-              <el-form-item label="闄㈠尯" prop="userName">
+              <!-- <el-form-item label="闄㈠尯" prop="userName">
                 <el-select v-model="queryParams.value1" placeholder="璇烽�夋嫨">
                   <el-option
                     v-for="item in options"
@@ -65,8 +68,8 @@
                   >
                   </el-option>
                 </el-select>
-              </el-form-item>
-              <el-form-item label="绉戝/鐥呭尯" prop="userName">
+              </el-form-item> -->
+              <!-- <el-form-item label="绉戝/鐥呭尯" prop="userName">
                 <el-select v-model="queryParams.value2" placeholder="璇烽�夋嫨">
                   <el-option
                     v-for="item in options"
@@ -76,15 +79,43 @@
                   >
                   </el-option>
                 </el-select>
-              </el-form-item>
+              </el-form-item> -->
               <el-form-item
                 label-width="138px"
                 label="涓绘不鍖荤敓"
                 prop="userName"
               >
-                <el-select v-model="queryParams.value3" placeholder="璇烽�夋嫨">
+                <el-input
+                  v-model="queryParams.drname"
+                  placeholder="璇疯緭鍏ュ尰鐢熷鍚�"
+                  maxlength="30"
+                  @keyup.enter.native="handleQuery"
+                />
+              </el-form-item>
+
+              <el-form-item label="闂ㄨ瘖缂栧彿" prop="visitno">
+                <el-input
+                  v-model="queryParams.visitno"
+                  placeholder="璇疯緭鍏ョ紪鍙�"
+                  maxlength="30"
+                  @keyup.enter.native="handleQuery"
+                />
+              </el-form-item>
+              <el-form-item label="鎮h�呭鍚�" prop="name">
+                <el-input
+                  v-model="queryParams.name"
+                  placeholder="璇疯緭鍏ュ鍚�"
+                  maxlength="30"
+                  @keyup.enter.native="handleQuery"
+                />
+              </el-form-item>
+              <el-form-item label="鎮h�呰寖鍥�" prop="tagId">
+                <el-select
+                  v-model="queryParams.searchscope"
+                  placeholder="璇烽�夋嫨鎮h�呰寖鍥�"
+                >
                   <el-option
-                    v-for="item in options"
+                    v-for="item in source"
                     :key="item.value"
                     :label="item.label"
                     :value="item.value"
@@ -92,19 +123,12 @@
                   </el-option>
                 </el-select>
               </el-form-item>
-
-              <el-form-item label="妗f缂栧彿" prop="number">
+              <el-form-item label="鑱旂郴鐢佃瘽" prop="telcode">
                 <el-input
-                  v-model="queryParams.number"
-                  placeholder="璇疯緭鍏ョ紪鍙�"
+                  v-model="queryParams.telcode"
+                  placeholder="璇疯緭鍏ヨ仈绯荤數璇�"
                   maxlength="30"
-                />
-              </el-form-item>
-              <el-form-item label="濮撳悕" prop="name">
-                <el-input
-                  v-model="queryParams.name"
-                  placeholder="璇疯緭鍏ュ鍚�"
-                  maxlength="30"
+                  @keyup.enter.native="handleQuery"
                 />
               </el-form-item>
 
@@ -126,7 +150,7 @@
             </el-form>
 
             <el-row :gutter="10" class="mb8">
-              <el-col :span="1.5">
+              <!-- <el-col :span="1.5">
                 <el-button
                   type="primary"
                   plain
@@ -136,19 +160,8 @@
                   v-hasPermi="['system:user:add']"
                   >鏂板</el-button
                 >
-              </el-col>
-              <el-col :span="1.5">
-                <el-button
-                  type="success"
-                  plain
-                  icon="el-icon-edit"
-                  size="medium"
-                  :disabled="single"
-                  @click="handleUpdate"
-                  v-hasPermi="['system:user:edit']"
-                  >淇敼</el-button
-                >
-              </el-col>
+              </el-col> -->
+
               <el-col :span="1.5">
                 <el-button
                   type="danger"
@@ -159,6 +172,16 @@
                   @click="handleDelete"
                   v-hasPermi="['system:user:remove']"
                   >鍒犻櫎</el-button
+                >
+              </el-col>
+              <el-col :span="1.5">
+                <el-button
+                  type="primary"
+                  plain
+                  icon="el-icon-s-promotion"
+                  size="medium"
+                  @click="distribute"
+                  >鍚戜换鍔℃淳鍙戞偅鑰�</el-button
                 >
               </el-col>
               <el-col :span="6">
@@ -192,24 +215,35 @@
             <el-table
               v-loading="loading"
               :data="userList"
+              height="660"
               @selection-change="handleSelectionChange"
             >
               <el-table-column type="selection" width="50" align="center" />
-              <el-table-column
+              <!-- <el-table-column
                 fixed
                 label="搴忓彿"
                 align="center"
                 key="id"
                 prop="id"
-              />
-              <el-table-column
+              /> -->
+              <!-- <el-table-column
                 fixed
                 label="濮撳悕"
+          width="100"
                 align="center"
                 key="name"
                 prop="name"
-              />
-              <el-table-column label="鎬у埆" align="center" key="sex" prop="sex">
+              /> -->
+              <el-table-column
+
+                label="濮撳悕"
+          width="100"
+                align="center"
+                key="name"
+                prop="name"
+              >
+              </el-table-column>
+              <el-table-column label="鎬у埆"width="100" align="center" key="sex" prop="sex">
                 <template slot-scope="scope">
                   <span>{{ scope.row.sex == 1 ? "鐢�" : "濂�" }}</span>
                 </template>
@@ -219,14 +253,14 @@
                 align="center"
                 key="age"
                 prop="age"
-                width="120"
+                width="100"
               />
               <el-table-column
                 label="鍑虹敓骞存湀"
                 align="center"
                 key="birthdate"
                 prop="birthdate"
-                width="160"
+                width="120"
               >
               </el-table-column>
               <el-table-column
@@ -234,14 +268,15 @@
                 align="center"
                 key="placeOfResidence"
                 prop="placeOfResidence"
-                width="120"
+                width="150"
+                :show-overflow-tooltip="true"
               />
               <el-table-column
                 label="鎮h�呮爣绛�"
                 align="center"
                 key="tagList"
                 prop="tagList"
-                width="160"
+                width="180"
                 :show-overflow-tooltip="true"
               >
                 <template slot-scope="scope">
@@ -251,12 +286,6 @@
                 </template>
               </el-table-column>
               <el-table-column
-                label="璇佷欢绫诲瀷"
-                align="center"
-                key="idcardtype"
-                prop="idcardtype"
-                width="120"
-              /><el-table-column
                 label="璇佷欢鍙风爜"
                 align="center"
                 key="idcardno"
@@ -269,31 +298,31 @@
                 align="center"
                 key="telcode"
                 prop="telcode"
-                width="120"
               />
               <el-table-column
                 label="寤烘。鏃ユ湡"
                 align="center"
                 key="createTime"
                 prop="createTime"
-                width="160"
               >
+                <template slot-scope="scope">
+                  <span>{{ formatTime(scope.row.createTime) }}</span>
+                </template>
               </el-table-column>
               <el-table-column
                 label="鏇存柊鏃ユ湡"
                 align="center"
                 prop="archivetime"
-                width="160"
               >
                 <template slot-scope="scope">
-                  <span>{{ parseTime(scope.row.createTime) }}</span>
+                  <span>{{ formatTime(scope.row.archivetime) }}</span>
                 </template>
               </el-table-column>
               <el-table-column
                 fixed="right"
                 label="鎿嶄綔"
                 align="center"
-                width="190"
+                width="200"
                 class-name="small-padding fixed-width"
               >
                 <template slot-scope="scope">
@@ -306,29 +335,34 @@
                         query: { id: scope.row.id },
                       })
                     "
-                    v-hasPermi="['system:user:edit']"
                     ><span class="button-textsc"
-                      ><i class="el-icon-zoom-in"></i>鏌ョ湅</span
+                      ><i class="el-icon-zoom-in"></i>璇︽儏缂栬緫</span
                     ></el-button
                   >
                   <el-button
                     size="medium"
                     type="text"
                     @click="handleUpdate(scope.row)"
-                    v-hasPermi="['system:user:edit']"
                     ><span class="button-textxga"
-                      ><i class="el-icon-edit"></i>淇敼</span
+                      ><i class="el-icon-edit"></i>鎮h�呰繃婊�</span
                     ></el-button
                   >
-                  <el-button
+                  <!-- <el-button
                     size="medium"
                     type="text"
                     @click="Distributionservice(scope.row)"
-                    v-hasPermi="['system:user:edit']"
                     ><span class="button-textxg"
                       ><i class="el-icon-menu"></i>鏈嶅姟</span
                     ></el-button
-                  >
+                  > -->
+                  <!-- <el-button
+                    size="medium"
+                    type="text"
+                    @click="RiskMarker(scope.row)"
+                    ><span class="button-textxg"
+                      ><i class="el-icon-menu"></i>椋庨櫓鏍囪</span
+                    ></el-button
+                  > -->
                 </template>
               </el-table-column>
             </el-table>
@@ -344,6 +378,127 @@
         </el-row>
       </div>
     </div>
+    <el-dialog title="閫夋嫨浠诲姟" :visible.sync="distributeVisible" width="70%">
+      <div class="preview-left">
+        <el-form
+          :model="queryParams"
+          ref="queryForm"
+          size="small"
+          :inline="true"
+          label-width="98px"
+        >
+          <el-select
+            @change="distribute"
+            v-model="tasktopic"
+            placeholder="璇烽�夋嫨浠诲姟绫诲瀷"
+          >
+            <el-option
+              v-for="item in taskoptions"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            >
+            </el-option>
+          </el-select>
+        </el-form>
+        <el-table v-loading="loading" :data="taskuserList">
+          <el-table-column
+            label="浠诲姟鍚嶇О"
+            fixed
+            align="center"
+            key="taskName"
+            prop="taskName"
+            width="140"
+            :show-overflow-tooltip="true"
+          />
+          <el-table-column
+            label="浠诲姟鎻忚堪"
+            align="center"
+            key="taskDesc"
+            prop="taskDesc"
+            width="180"
+            :show-overflow-tooltip="true"
+          />
+          <el-table-column
+            label="鏈嶅姟椤圭洰"
+            align="center"
+            key="templatename"
+            prop="templatename"
+          />
+          <el-table-column
+            label="寰呴殢璁�/鎬讳换鍔�"
+            align="center"
+            key="nickName"
+            prop="nickName"
+          >
+            <template slot-scope="scope">
+              <span>{{ scope.row.wfs }}/{{ scope.row.yfs }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            label="鍒涘缓浜�"
+            align="center"
+            key="createBy"
+            prop="createBy"
+            width="120"
+            :show-overflow-tooltip="true"
+          />
+          <el-table-column
+            label="鍒涘缓鏃堕棿"
+            sortable
+            align="center"
+            prop="createTime"
+            width="160"
+          >
+            <template slot-scope="scope">
+              <span>{{ formatTime(scope.row.createTime) }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            label="鐘舵��"
+            fixed="right"
+            align="center"
+            key="sendState"
+            prop="sendState"
+            width="180"
+          >
+            <template slot-scope="scope">
+              <dict-tag
+                :options="dict.type.task_status"
+                :value="scope.row.sendState"
+              />
+            </template>
+          </el-table-column>
+
+          <el-table-column
+            label="浠诲姟璇︽儏"
+            fixed="right"
+            align="center"
+            width="200"
+            class-name="small-padding fixed-width"
+          >
+            <template slot-scope="scope">
+              <el-button
+                size="medium"
+                type="text"
+                @click="handleUpdate(scope.row)"
+                ><span class="button-xq"
+                  ><i class="el-icon-s-data"></i>閫夋嫨娲惧彂</span
+                ></el-button
+              >
+            </template>
+          </el-table-column>
+        </el-table>
+
+        <pagination
+          v-show="tasktotal > 0"
+          :total="tasktotal"
+          :page.sync="queryParams.pageNum"
+          :limit.sync="queryParams.pageSize"
+          @pagination="distribute"
+        />
+      </div>
+    </el-dialog>
 
     <!-- 娣诲姞鎴栦慨鏀圭敤鎴烽厤缃璇濇 -->
     <el-dialog
@@ -354,7 +509,8 @@
       <el-form ref="form" :model="form" :rules="rules" label-width="100px">
         <el-row>
           <el-col :span="8">
-            <el-form-item label="濮撳悕" prop="name">
+            <el-form-item label="濮撳悕"
+          width="100" prop="name">
               <el-input
                 v-model="form.name"
                 placeholder="璇疯緭鍏ュ鍚�"
@@ -363,10 +519,10 @@
             </el-form-item>
           </el-col>
           <el-col :span="8">
-            <el-form-item label="鎬у埆" prop="sex">
+            <el-form-item label="鎬у埆"width="100" prop="sex">
               <el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆">
                 <el-option
-                  v-for="dict in dict.type.sys_user_sex"
+                  v-for="dict in sextype"
                   :key="dict.value"
                   :label="dict.label"
                   :value="dict.value"
@@ -384,7 +540,7 @@
             </el-form-item>
           </el-col>
         </el-row>
-        <el-row>
+        <el-row v-if="!amendtag">
           <el-col :span="8">
             <el-form-item label="姘戞棌" prop="name">
               <el-input
@@ -413,32 +569,10 @@
             </el-form-item>
           </el-col>
         </el-row>
-        <el-row>
+
+        <el-row v-if="!amendtag">
           <el-col :span="12">
-            <el-form-item label="璇佷欢绫诲瀷" prop="idcardtype">
-              <el-select v-model="form.idcardtype" placeholder="璇烽�夋嫨鎬у埆">
-                <el-option
-                  v-for="item in paperstypes"
-                  :key="item.papersname"
-                  :label="item.papersname"
-                  :value="item.papersname"
-                ></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="璇佷欢鍙�" prop="idcardno">
-              <el-input
-                v-model="form.idcardno"
-                placeholder="璇疯緭鍏ヨ瘉浠跺彿"
-                maxlength="50"
-              />
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="鍑虹敓鍦�" prop="idcardno">
+            <el-form-item label="鍑虹敓鍦�" prop="birthplace">
               <el-input
                 v-model="form.birthplace"
                 placeholder="鍥姐�佺渷銆佸湴甯傘�佸尯鍘裤�佽閬撶瓑璇︾粏淇℃伅"
@@ -446,7 +580,7 @@
               />
             </el-form-item> </el-col
           ><el-col :span="12">
-            <el-form-item label="灞呬綇鍦�" prop="idcardno">
+            <el-form-item label="灞呬綇鍦�" prop="placeOfResidence">
               <el-input
                 v-model="form.placeOfResidence"
                 placeholder="鍥姐�佺渷銆佸湴甯傘�佸尯鍘裤�佽閬撶瓑璇︾粏淇℃伅"
@@ -455,8 +589,9 @@
             </el-form-item>
           </el-col>
         </el-row>
+
         <el-row>
-          <el-col :span="24">
+          <el-col :span="amendtag ? 12 : 24" v-if="!amendtag">
             <el-form-item label="鎮h�呯被鍨�">
               <el-select v-model="form.pattype" placeholder="璇烽�夋嫨绫诲瀷">
                 <el-option
@@ -468,9 +603,32 @@
               </el-select>
             </el-form-item>
           </el-col>
+          <!-- <el-col :span="12" v-if="amendtag">
+            <el-form-item label="杩囨护璇存槑">
+              <el-select v-model="form.notrequiredreason" placeholder="璇烽�夋嫨杩囨护绫诲瀷">
+                <el-option
+                  v-for="item in dict.type.futter_patient"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col> -->
         </el-row>
         <el-row>
-          <el-col :span="24">
+          <el-col :span="24" v-if="amendtag">
+            <el-form-item label="杩囨护鍘熷洜">
+              <el-input
+                v-model="form.notrequiredreason"
+                type="textarea"
+                placeholder="璇疯緭鍏ヨ繃婊ゅ師鍥�"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="24" v-if="!amendtag">
             <el-form-item label="澶囨敞">
               <el-input
                 v-model="form.remark"
@@ -507,20 +665,19 @@
           :limit="1"
           accept=".xlsx, .xls"
           :headers="upload.headers"
-          :action="upload.url + '?updateSupport=' + upload.updateSupport"
+          :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">
-            <div class="el-upload__tip" slot="tip">
+            <!-- <div class="el-upload__tip" slot="tip">
               <el-checkbox v-model="upload.updateSupport" />
               鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹�
-            </div>
+            </div> -->
             <span>浠呭厑璁稿鍏ls銆亁lsx鏍煎紡鏂囦欢銆�</span>
             <el-link
               type="primary"
@@ -529,15 +686,15 @@
               @click="importTemplate"
               >涓嬭浇妯℃澘
             </el-link>
-            <el-link
+            <!-- <el-link
               type="success"
               :underline="false"
               style="font-size: 24px; vertical-align: baseline"
               href="http://m.qpic.cn/psc?/V50ZTolo1AIhq00dqrJP2169QM2VHGTU/ruAMsa53pVQWN7FLK88i5qfmCJclyMduqqL6kjE4h7TXDAjimVtmLmTyGVfF4qlkyOISsYQ4Mxx705X2tkXEIUPrfCS4L4yK.f11SmO8Tq0!/b&bo=twb0AgAAAAADB2U!&rf=viewer_4"
               target="_blank"
             >
-              鏌ョ湅妯$増</el-link
-            >
+              鏌ョ湅妯℃澘</el-link
+            > -->
           </div>
         </el-upload>
       </div>
@@ -545,10 +702,10 @@
       <div class="uploading" v-else-if="dractive == 2">
         <el-table :data="uploadingData" style="width: 100%">
           <el-table-column prop="serial" label="搴忓彿"> </el-table-column>
-          <el-table-column prop="name" label="濮撳悕"> </el-table-column>
-          <el-table-column prop="sex" label="鎬у埆"> </el-table-column>
-          <el-table-column prop="certificate" label="璇佷欢绫诲瀷">
-          </el-table-column>
+          <el-table-column prop="name" label="濮撳悕"
+          width="100"> </el-table-column>
+          <el-table-column prop="sex" label="鎬у埆"width="100"> </el-table-column>
+
           <el-table-column prop="certificatenum" label="璇佷欢鍙风爜">
           </el-table-column>
           <el-table-column prop="goday" label="鍑虹敓鏃ユ湡"> </el-table-column>
@@ -585,10 +742,9 @@
       <div v-if="dractive == 3">
         <el-table :data="uploadingData" style="width: 100%">
           <el-table-column prop="serial" label="搴忓彿"> </el-table-column>
-          <el-table-column prop="name" label="濮撳悕"> </el-table-column>
-          <el-table-column prop="sex" label="鎬у埆"> </el-table-column>
-          <el-table-column prop="certificate" label="璇佷欢绫诲瀷">
-          </el-table-column>
+          <el-table-column prop="name" label="濮撳悕"
+          width="100"> </el-table-column>
+          <el-table-column prop="sex" label="鎬у埆"width="100"> </el-table-column>
           <el-table-column prop="certificatenum" label="璇佷欢鍙风爜">
           </el-table-column>
           <el-table-column prop="goday" label="鍑虹敓鏃ユ湡"> </el-table-column>
@@ -620,17 +776,45 @@
     </el-dialog>
     <!-- 璺宠浆鏈嶅姟瀵硅瘽妗� -->
     <el-dialog title="閫夋嫨鏈嶅姟绫诲瀷" :visible.sync="serviceVisible">
-      <el-radio-group v-model="serviceradio">
-        <el-radio :label="1">瀹f暀闅忚</el-radio>
-        <el-radio :label="2">闂ㄨ瘖鏈嶅姟</el-radio>
-        <el-radio :label="3">鍑洪櫌鏈嶅姟</el-radio>
-        <el-radio :label="4">澶嶈瘖鏈嶅姟</el-radio>
-        <el-radio :label="5">浣撴閫氱煡</el-radio>
-        <el-radio :label="6">闂嵎鏈嶅姟</el-radio>
-      </el-radio-group>
+      <el-card class="box-card">
+        <el-radio-group v-model="serviceradio">
+          <el-radio :label="1">瀹f暀闅忚</el-radio>
+          <el-radio :label="2">闂ㄨ瘖鏈嶅姟</el-radio>
+          <el-radio :label="3">鍑洪櫌鏈嶅姟</el-radio>
+          <el-radio :label="4">澶嶈瘖鏈嶅姟</el-radio>
+          <el-radio :label="5">浣撴閫氱煡</el-radio>
+          <el-radio :label="6">闂嵎鏈嶅姟</el-radio>
+        </el-radio-group>
+      </el-card>
       <div slot="footer" class="dialog-footer">
         <el-button @click="serviceVisible = false">鍙� 娑�</el-button>
         <el-button type="primary" @click="CreateService">鍒涘缓鏈嶅姟</el-button>
+      </div>
+    </el-dialog>
+    <!-- 椋庨櫓绫诲瀷 -->
+    <el-dialog title="閫夋嫨椋庨櫓绫诲瀷" :visible.sync="RiskVisible">
+      <el-card class="box-card">
+        <el-form>
+          <el-form-item label="椋庨櫓绫诲瀷">
+            <el-radio-group v-model="Riskradio">
+              <el-radio :label="1">姝e父</el-radio>
+              <el-radio :label="2">杞诲井</el-radio>
+              <el-radio :label="3">楂樺嵄</el-radio>
+            </el-radio-group>
+          </el-form-item>
+          <el-form-item label="娲诲姩鎬ц川">
+            <el-checkbox-group v-model="Risklist">
+              <el-checkbox label="鎯呭喌1" name="type"></el-checkbox>
+              <el-checkbox label="鎯呭喌2" name="type"></el-checkbox>
+              <el-checkbox label="鎯呭喌3" name="type"></el-checkbox>
+              <el-checkbox label="鎯呭喌4" name="type"></el-checkbox>
+            </el-checkbox-group>
+          </el-form-item>
+        </el-form>
+      </el-card>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="RiskVisible = false">鍙� 娑�</el-button>
+        <el-button type="primary" @click="RiskService">纭淇敼</el-button>
       </div>
     </el-dialog>
   </div>
@@ -648,14 +832,21 @@
   Exporterrorpatient,
   toleadpatient,
 } from "@/api/patient/homepage";
+import { getTasklist } from "@/api/AiCentre/index";
 import { listtag } from "@/api/system/label";
 import { getToken } from "@/utils/auth";
 import Treeselect from "@riophae/vue-treeselect";
+import store from "@/store";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 
 export default {
-  name: "Userhuanze",
-  dicts: ["sys_normal_disable", "sys_user_sex"],
+  name: "Patient",
+  dicts: [
+    "sys_normal_disable",
+    "task_status",
+    "sys_user_sex",
+    "futter_patient",
+  ],
   components: { Treeselect },
   data() {
     return {
@@ -671,8 +862,11 @@
       showSearch: true,
       // 鎬绘潯鏁�
       total: 0,
+      tasktotal: 0,
+      Risklist: [],
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: null,
+      taskuserList: null,
       // 寮瑰嚭灞傛爣棰�
       title: "",
       // 閮ㄩ棬鏍戦�夐」
@@ -687,8 +881,22 @@
       amendtag: false, //鏄惁淇敼
       serviceVisible: false,
       serviceradio: 1,
+      distributeVisible: false,
+      RiskVisible: false,
+      tasktopic: "5", //鏂板绫诲瀷
+      Riskradio: 1,
+      RiskObj: {},
+      // 鏌ヨ鍙傛暟
+      topqueryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        userName: undefined,
+        tagid: undefined,
+        topic: undefined,
+      },
       // 鏃ユ湡鑼冨洿
       dateRange: [],
+      taskoptions: [],
       paperstypes: [
         { papersname: "韬唤璇�" },
         { papersname: "鎶ょ収" },
@@ -698,15 +906,26 @@
       Patienttype: [
         {
           value: "1",
-          label: "浣忛櫌鎮h��",
+          label: "鍦ㄩ櫌鎮h��",
         },
-        {
-          value: "2",
-          label: "闂ㄨ瘖鎮h��",
-        },
+
         {
           value: "3",
           label: "浣撴鎮h��",
+        },
+        {
+          value: "4",
+          label: "鍑洪櫌鎮h��",
+        },
+      ],
+      sextype: [
+        {
+          value: 1,
+          label: "鐢�",
+        },
+        {
+          value: 2,
+          label: "濂�",
         },
       ],
 
@@ -718,18 +937,30 @@
         {
           name: "鍦ㄩ櫌鎮h��",
           value: 23,
+          router: "/patient/inpatient",
         },
         {
-          name: "绂婚櫌鎮h��",
+          name: "鍑洪櫌鎮h��",
           value: 41,
-        },
-        {
-          name: "璇婄枟鎮h��",
-          value: 56,
+          router: "/patient/hospital",
         },
         {
           name: "绂讳笘鎮h��",
           value: 0,
+        },
+      ],
+      source: [
+        {
+          value: 0,
+          label: "鎵�灞炴偅鑰�",
+        },
+        {
+          value: 1,
+          label: "绉戝鎮h��",
+        },
+        {
+          value: 2,
+          label: "鐥呭尯鎮h��",
         },
       ],
       // 琛ㄥ崟鍙傛暟
@@ -770,13 +1001,15 @@
         // 璁剧疆涓婁紶鐨勮姹傚ご閮�
         headers: { Authorization: "Bearer " + getToken() },
         // 涓婁紶鐨勫湴鍧�
-        url: process.env.VUE_APP_BASE_API + "/system/user/importData",
+        url: process.env.VUE_APP_BASE_API + "/smartor/import/importPatInfo",
       },
       // 鏌ヨ鍙傛暟
       queryParams: {
         pageNum: 1,
-        allhosp: "0",
+        allhosp: "1",
         pageSize: 10,
+        notrequiredFlag:0,
+        searchscope: 2,
         idcardno: undefined,
         name: undefined,
         status: undefined,
@@ -785,49 +1018,42 @@
       },
       // 琛ㄥ崟鏍¢獙
       rules: {
-        // userName: [
-        //   { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" },
-        //   {
-        //     min: 2,
-        //     max: 20,
-        //     message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿",
-        //     trigger: "blur",
-        //   },
-        // ],
-        // nickName: [
-        //   { required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" },
-        // ],
-        // password: [
-        //   { required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" },
-        //   {
-        //     min: 5,
-        //     max: 20,
-        //     message: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿",
-        //     trigger: "blur",
-        //   },
-        // ],
-        // email: [
-        //   {
-        //     type: "email",
-        //     message: "璇疯緭鍏ユ纭殑閭鍦板潃",
-        //     trigger: ["blur", "change"],
-        //   },
-        // ],
-        // phonenumber: [
-        //   {
-        //     pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
-        //     message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜",
-        //     trigger: "blur",
-        //   },
-        // ],
-        // IDnumber: [
-        //   {
-        //     pattern:
-        //       /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/,
-        //     message: "璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�",
-        //     trigger: "blur",
-        //   },
-        // ],
+        name: [
+          { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" },
+          {
+            min: 2,
+            max: 20,
+            message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿",
+            trigger: "blur",
+          },
+        ],
+
+        sex: [{ required: true, message: "鎬у埆涓嶈兘涓虹┖", trigger: "blur" }],
+        nation: [{ required: true, message: "姘戞棌涓嶈兘涓虹┖", trigger: "blur" }],
+        telcode: [
+          { required: true, message: "鑱旂郴鏂瑰紡涓嶈兘涓虹┖", trigger: "blur" },
+          {
+            pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
+            message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜",
+            trigger: "blur",
+          },
+        ],
+
+        idcardno: [
+          { required: true, message: "璇佷欢鍙峰彲鑳戒负绌�", trigger: "blur" },
+          {
+            pattern:
+              /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/,
+            message: "璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�",
+            trigger: "blur",
+          },
+        ],
+        placeOfResidence: [
+          { required: true, message: "灞呬綇鍦颁笉鑳戒负绌�", trigger: "blur" },
+        ],
+        birthplace: [
+          { required: true, message: "鍑虹敓鍦颁笉鑳戒负绌�", trigger: "blur" },
+        ],
       },
     };
   },
@@ -840,14 +1066,30 @@
   created() {
     this.getList();
     this.gettabList();
+    //鑾峰彇宸茬瓫閫夊悗鐨勫彲閫変换鍔$被鍨�
+    this.taskoptions = store.getters.Serviceauthority;
   },
   methods: {
     /** 鏌ヨ鎮h�呭垪琛� */
     getList() {
-      console.log(this.dict.type.sys_user_sex);
+      if (this.queryParams.searchscope == 1) {
+        this.queryParams.leaveldeptcodes = store.getters.belongDepts.map(
+          (obj) => obj.deptCode
+        );
+        this.queryParams.leavehospitaldistrictcodes = null;
+      } else if (this.queryParams.searchscope == 2) {
+        this.queryParams.leavehospitaldistrictcodes =
+          store.getters.belongWards.map((obj) => obj.districtCode);
+        this.queryParams.leaveldeptcodes = null;
+      } else {
+        this.queryParams.leaveldeptcodes = store.getters.belongDepts.map(
+          (obj) => obj.deptCode
+        );
+        this.queryParams.leavehospitaldistrictcodes =
+          store.getters.belongWards.map((obj) => obj.districtCode);
+      }
       this.loading = true;
       messagelistpatient(this.queryParams).then((response) => {
-        console.log(response);
         this.userList = response.rows;
         this.total = response.total;
         this.loading = false;
@@ -855,6 +1097,10 @@
     },
     handleClick() {
       this.getList();
+    },
+    findLabelByValue(data, value) {
+      const item = data.find((item) => item.value === value);
+      return item ? item.label : null;
     },
     /** 鏌ヨ鏍囩鍒楄〃 */
     gettabList() {
@@ -881,6 +1127,10 @@
     },
     Distributionservice(row) {
       this.serviceVisible = true;
+    },
+    RiskMarker(row) {
+      this.RiskVisible = true;
+      this.RiskObj=row;
     },
 
     // 鍙栨秷鎸夐挳
@@ -910,8 +1160,18 @@
     /** 閲嶇疆鎸夐挳鎿嶄綔 */
     resetQuery() {
       this.dateRange = [];
-      this.resetForm("queryForm");
-      this.$refs.tree.setCurrentKey(null);
+      this.queryParams= {
+        pageNum: 1,
+        allhosp: "1",
+        pageSize: 10,
+        notrequiredFlag:0,
+        searchscope: 2,
+        idcardno: undefined,
+        name: undefined,
+        status: undefined,
+        tagIds: undefined,
+        telcode: undefined,
+      },
       this.handleQuery();
     },
     // 澶氶�夋閫変腑鏁版嵁
@@ -929,7 +1189,6 @@
     },
     /** 淇敼鎸夐挳鎿嶄綔 */
     handleUpdate(row) {
-      console.log(row);
       const userIds = row.id || this.ids;
       particularpatient(userIds).then((response) => {
         console.log(response);
@@ -938,31 +1197,37 @@
       this.amendtag = true;
       this.Labelchange = true;
     },
-
     //淇敼/鏂板鎮h��
     submitForm() {
-      if (this.amendtag) {
-        alterpatient(this.form)
-          .then((response) => {
-            console.log(response);
-          })
-          .then(() => {
-            this.getList();
-            this.$modal.msgSuccess("淇敼鎴愬姛");
-          });
-      } else {
-        addpatient(this.form)
-          .then((response) => {
-            console.log(response);
-          })
-          .then(() => {
-            this.getList();
-            this.$modal.msgSuccess("娣诲姞鎴愬姛");
-          });
-      }
-      this.reset();
-      // this.idds = "";
-      this.Labelchange = false;
+      this.$refs["form"].validate((valid) => {
+        if (valid) {
+          if (this.amendtag) {
+            this.form.isoperation = 2;
+            this.form.notrequiredFlag = 1;
+            alterpatient(this.form)
+              .then((response) => {
+                console.log(response);
+              })
+              .then(() => {
+                this.getList();
+                this.$modal.msgSuccess("鎮h�呰繃婊ゆ垚鍔�");
+              });
+          } else {
+            this.form.isoperation = 1;
+            alterpatient(this.form)
+              .then((response) => {
+                console.log(response);
+              })
+              .then(() => {
+                this.getList();
+                this.$modal.msgSuccess("娣诲姞鎴愬姛");
+              });
+          }
+          this.reset();
+          // this.idds = "";
+          this.Labelchange = false;
+        }
+      });
     },
 
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
@@ -986,6 +1251,44 @@
         query: { type: this.serviceradio },
       });
     },
+    RiskService() {
+
+      this.RiskObj.visitFlag = this.Risklist.join(", ");
+      this.RiskObj.visitType = this.Riskradio;
+      alterpatient(this.RiskObj).then((res) => {
+        if (res.code==200) {
+          this.getList();
+          this.Risklist=[];
+          this.Riskradio=1;
+          this.$modal.msgSuccess("寮傚父璁板綍鎴愬姛");
+        }
+      });
+    },
+    distribute() {
+      this.distributeVisible = true;
+      if (this.tasktopic == 1) {
+        this.topqueryParams.type = 3;
+      } else if (this.tasktopic == 2) {
+        this.topqueryParams.type = 1;
+      } else if (this.tasktopic == 3) {
+        this.topqueryParams.type = 1;
+      } else if (this.tasktopic == 4) {
+        this.topqueryParams.type = 1;
+      } else if (this.tasktopic == 5) {
+        this.topqueryParams.type = 1;
+      } else if (this.tasktopic == 6) {
+        this.topqueryParams.type = 2;
+      }
+      this.topqueryParams.typename = this.findLabelByValue(
+        this.taskoptions,
+        this.tasktopic
+      );
+      getTasklist(this.topqueryParams).then((response) => {
+        this.taskuserList = response.rows;
+        this.tasktotal = response.total;
+        this.$forceUpdate();
+      });
+    },
     /** 瀵煎嚭鎸夐挳鎿嶄綔 */
     handleExport() {
       this.download(
@@ -1004,7 +1307,7 @@
     /** 涓嬭浇妯℃澘鎿嶄綔 */
     importTemplate() {
       this.download(
-        "system/user/importTemplate",
+        "smartor/import/getImportPatTemplate",
         {},
         `user_template_${new Date().getTime()}.xlsx`
       );
@@ -1056,7 +1359,7 @@
   //   display: flex;
   margin-top: 20px;
   margin: 20px;
-  padding: 30px;
+  padding: 15px;
   background: #d0e9fd;
   border: 1px solid #dcdfe6;
   -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
@@ -1085,6 +1388,22 @@
     display: center !important;
   }
 }
+.preview-left {
+  margin: 20px;
+  //   margin: 20px;
+  padding: 30px;
+  background: #ffff;
+  border: 1px solid #dcdfe6;
+  -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
+    0 0 6px 0 rgba(0, 0, 0, 0.04);
+  .scriptTopic-dev {
+    margin-bottom: 25px;
+    font-size: 20px !important;
+    .dev-text {
+      margin-bottom: 10px;
+    }
+  }
+}
 ::v-deep.el-tabs--left,
 .el-tabs--right {
   overflow: hidden;
@@ -1109,6 +1428,7 @@
 }
 ::v-deep.leftvlue .el-card__body:hover {
   background: #8dc8f8;
+  cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
 }
 .leftvlue {
   width: 80%;

--
Gitblit v1.9.3