From 387719007459b760ce8cfc471c6c14e4b0b228a7 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期四, 24 四月 2025 17:05:46 +0800
Subject: [PATCH] 测试完成

---
 src/views/patient/patient/index.vue |  333 ++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 265 insertions(+), 68 deletions(-)

diff --git a/src/views/patient/patient/index.vue b/src/views/patient/patient/index.vue
index 055b5e9..e11cc97 100644
--- a/src/views/patient/patient/index.vue
+++ b/src/views/patient/patient/index.vue
@@ -109,20 +109,29 @@
                   @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 source"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
+              <!-- <el-form-item label="鎮h�呰寖鍥�" prop="tagId">
+                <el-select
+                  v-model="queryParams.searchscope"
+                  placeholder="璇烽�夋嫨鎮h�呰寖鍥�"
                 >
-                </el-option>
-              </el-select>
-          </el-form-item>
+                  <el-option
+                    v-for="item in source"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
+                  >
+                  </el-option>
+                </el-select>
+              </el-form-item> -->
+              <el-form-item label="鎮h�呰寖鍥�" prop="status">
+                <el-cascader
+                  v-model="queryParams.scopetype"
+                  placeholder="榛樿鍏ㄩ儴"
+                  :options="sourcetype"
+                  :props="{ expandTrigger: 'hover' }"
+                  @change="handleChange"
+                ></el-cascader>
+              </el-form-item>
               <el-form-item label="鑱旂郴鐢佃瘽" prop="telcode">
                 <el-input
                   v-model="queryParams.telcode"
@@ -150,7 +159,7 @@
             </el-form>
 
             <el-row :gutter="10" class="mb8">
-              <el-col :span="1.5">
+              <!-- <el-col :span="1.5">
                 <el-button
                   type="primary"
                   plain
@@ -160,7 +169,7 @@
                   v-hasPermi="['system:user:add']"
                   >鏂板</el-button
                 >
-              </el-col>
+              </el-col> -->
 
               <el-col :span="1.5">
                 <el-button
@@ -215,7 +224,7 @@
             <el-table
               v-loading="loading"
               :data="userList"
-               height="660"
+              height="808"
               @selection-change="handleSelectionChange"
             >
               <el-table-column type="selection" width="50" align="center" />
@@ -226,14 +235,39 @@
                 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"
+              >
+                <template slot-scope="scope">
+                  <el-button
+                    size="medium"
+                    type="text"
+                    @click="gettoken360(scope.row.idcardno,scope.row.drcode,scope.row.drname)"
+                    ><span class="button-textsc">{{
+                      scope.row.name
+                    }}</span></el-button
+                  >
+                </template>
+              </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>
@@ -243,7 +277,7 @@
                 align="center"
                 key="age"
                 prop="age"
-                width="60"
+                width="100"
               />
               <el-table-column
                 label="鍑虹敓骞存湀"
@@ -266,7 +300,7 @@
                 align="center"
                 key="tagList"
                 prop="tagList"
-                width="160"
+                width="180"
                 :show-overflow-tooltip="true"
               >
                 <template slot-scope="scope">
@@ -275,7 +309,7 @@
                   </span>
                 </template>
               </el-table-column>
-             <el-table-column
+              <el-table-column
                 label="璇佷欢鍙风爜"
                 align="center"
                 key="idcardno"
@@ -288,16 +322,14 @@
                 align="center"
                 key="telcode"
                 prop="telcode"
-                width="120"
               />
               <el-table-column
                 label="寤烘。鏃ユ湡"
                 align="center"
                 key="createTime"
                 prop="createTime"
-                width="160"
               >
-              <template slot-scope="scope">
+                <template slot-scope="scope">
                   <span>{{ formatTime(scope.row.createTime) }}</span>
                 </template>
               </el-table-column>
@@ -305,7 +337,6 @@
                 label="鏇存柊鏃ユ湡"
                 align="center"
                 prop="archivetime"
-                width="160"
               >
                 <template slot-scope="scope">
                   <span>{{ formatTime(scope.row.archivetime) }}</span>
@@ -315,7 +346,7 @@
                 fixed="right"
                 label="鎿嶄綔"
                 align="center"
-                width="190"
+                width="200"
                 class-name="small-padding fixed-width"
               >
                 <template slot-scope="scope">
@@ -340,14 +371,22 @@
                       ><i class="el-icon-edit"></i>鎮h�呰繃婊�</span
                     ></el-button
                   >
-                  <el-button
+                  <!-- <el-button
                     size="medium"
                     type="text"
                     @click="Distributionservice(scope.row)"
                     ><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>
@@ -411,13 +450,18 @@
             prop="templatename"
           />
           <el-table-column
-            label="寰呮墽琛�/鎬讳换鍔�"
+            label="鎬讳换鍔�/宸查殢璁�"
             align="center"
             key="nickName"
+            width="120"
             prop="nickName"
           >
             <template slot-scope="scope">
-              <span>{{ scope.row.wfs }}/{{ scope.row.yfs }}</span>
+              <span
+                >{{ scope.row.wfs ? scope.row.wfs + scope.row.yfs : "" }}/{{
+                  scope.row.yfs
+                }}</span
+              >
             </template>
           </el-table-column>
           <el-table-column
@@ -445,7 +489,7 @@
             align="center"
             key="sendState"
             prop="sendState"
-            width="120"
+            width="180"
           >
             <template slot-scope="scope">
               <dict-tag
@@ -494,7 +538,7 @@
       <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="璇疯緭鍏ュ鍚�"
@@ -503,7 +547,7 @@
             </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 sextype"
@@ -524,7 +568,7 @@
             </el-form-item>
           </el-col>
         </el-row>
-        <el-row  v-if="!amendtag">
+        <el-row v-if="!amendtag">
           <el-col :span="8">
             <el-form-item label="姘戞棌" prop="name">
               <el-input
@@ -556,7 +600,7 @@
 
         <el-row v-if="!amendtag">
           <el-col :span="12">
-            <el-form-item label="鍑虹敓鍦�" prop="idcardno">
+            <el-form-item label="鍑虹敓鍦�" prop="birthplace">
               <el-input
                 v-model="form.birthplace"
                 placeholder="鍥姐�佺渷銆佸湴甯傘�佸尯鍘裤�佽閬撶瓑璇︾粏淇℃伅"
@@ -564,7 +608,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="鍥姐�佺渷銆佸湴甯傘�佸尯鍘裤�佽閬撶瓑璇︾粏淇℃伅"
@@ -575,7 +619,7 @@
         </el-row>
 
         <el-row>
-          <el-col :span="amendtag?12:24"v-if="!amendtag" >
+          <el-col :span="amendtag ? 12 : 24" v-if="!amendtag">
             <el-form-item label="鎮h�呯被鍨�">
               <el-select v-model="form.pattype" placeholder="璇烽�夋嫨绫诲瀷">
                 <el-option
@@ -686,8 +730,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="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>
@@ -725,8 +771,10 @@
       <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="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>
@@ -773,6 +821,32 @@
         <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>
 </template>
 
@@ -788,16 +862,22 @@
   Exporterrorpatient,
   toleadpatient,
 } from "@/api/patient/homepage";
-import { getTasklist } from "@/api/AiCentre/index";
+import { getTasklist,query360PatInfo } 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: "Patient",
-  dicts: ["sys_normal_disable", "task_status", "sys_user_sex",'futter_patient'],
+  dicts: [
+    "sys_normal_disable",
+    "task_status",
+    "sys_user_sex",
+    "futter_patient",
+  ],
   components: { Treeselect },
   data() {
     return {
@@ -814,6 +894,7 @@
       // 鎬绘潯鏁�
       total: 0,
       tasktotal: 0,
+      Risklist: [],
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: null,
       taskuserList: null,
@@ -832,7 +913,10 @@
       serviceVisible: false,
       serviceradio: 1,
       distributeVisible: false,
+      RiskVisible: false,
       tasktopic: "5", //鏂板绫诲瀷
+      Riskradio: 1,
+      RiskObj: {},
       // 鏌ヨ鍙傛暟
       topqueryParams: {
         pageNum: 1,
@@ -874,7 +958,6 @@
           value: 2,
           label: "濂�",
         },
-
       ],
 
       cardlist: [
@@ -922,6 +1005,39 @@
         idcardtype: "",
         relativetelcode: "",
       },
+      postData: {
+        XiaoXiTou: {
+          FaSongFCSJC: "ZJHES",
+          FaSongJGID: localStorage.getItem("orgid"),
+          FaSongJGMC: localStorage.getItem("orgname"),
+          FaSongSJ: "2025-01-09聽17:29:36",
+          FaSongXTJC: "SUIFANGXT",
+          FaSongXTMC: "闅忚绯荤粺",
+          XiaoXiID: "5FA92AFB-9833-4608-87C7-F56A654AC171",
+          XiaoXiLX: "SC_LC_360STCX",
+          XiaoXiMC: "360聽瑙嗗浘鏌ヨ",
+          ZuHuID: localStorage.getItem("ZuHuID"),
+          ZuHuMC: localStorage.getItem("orgname"),
+        },
+        YeWuXX: {
+          BingRenXX: {
+            ZhengJianHM: "",
+            ZhengJianLXDM: "01",
+            ZhengJianLXMC: "灞呮皯韬唤璇�",
+            ZuZhiJGID: localStorage.getItem("orgid"),
+            ZuZhiJGMC: localStorage.getItem("orgname"),
+          },
+          YongHuXX: {
+            XiTongID: "SUIFANGXT",
+            XiTongMC: "闅忚绯荤粺",
+            YongHuID: "1400466972205912064",
+            YongHuXM: "JNRMYY",
+            ZuZhiJGID: localStorage.getItem("orgid"),
+            ZuZhiJGMC: localStorage.getItem("orgname"),
+            idp: "lyra",
+          },
+        },
+      },
       activeName: "first", //渚ц竟閫夋嫨
       //瀵煎叆杩涘害
       dractive: 1,
@@ -956,13 +1072,28 @@
         pageNum: 1,
         allhosp: "1",
         pageSize: 10,
-        searchscope:2,
-        idcardno: undefined,
-        name: undefined,
-        status: undefined,
-        tagIds: undefined,
-        telcode: undefined,
+        notrequiredFlag: 0,
+        searchscope: 2,
+        scopetype: [],
+        leaveldeptcodes: [],
+        leavehospitaldistrictcodes: [],
       },
+      sourcetype: [
+        {
+          value: 1,
+          label: "绉戝",
+          children: [],
+        },
+        {
+          value: 2,
+          label: "鐥呭尯",
+          children: [],
+        },
+        {
+          value: 3,
+          label: "鍏ㄩ儴",
+        },
+      ],
       // 琛ㄥ崟鏍¢獙
       rules: {
         name: [
@@ -976,7 +1107,6 @@
         ],
 
         sex: [{ required: true, message: "鎬у埆涓嶈兘涓虹┖", trigger: "blur" }],
-        age: [{ required: true, message: "骞撮緞涓嶈兘涓虹┖", trigger: "blur" }],
         nation: [{ required: true, message: "姘戞棌涓嶈兘涓虹┖", trigger: "blur" }],
         telcode: [
           { required: true, message: "鑱旂郴鏂瑰紡涓嶈兘涓虹┖", trigger: "blur" },
@@ -988,7 +1118,7 @@
         ],
 
         idcardno: [
-          { required: true, message: "璇佷欢鍙疯兘涓虹┖", trigger: "blur" },
+          { 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)$/,
@@ -998,6 +1128,9 @@
         ],
         placeOfResidence: [
           { required: true, message: "灞呬綇鍦颁笉鑳戒负绌�", trigger: "blur" },
+        ],
+        birthplace: [
+          { required: true, message: "鍑虹敓鍦颁笉鑳戒负绌�", trigger: "blur" },
         ],
       },
     };
@@ -1012,21 +1145,24 @@
     this.getList();
     this.gettabList();
     //鑾峰彇宸茬瓫閫夊悗鐨勫彲閫変换鍔$被鍨�
+    this.sourcetype[0].children = store.getters.belongDepts.map((dept) => {
+      return {
+        label: dept.deptName,
+        value: dept.deptCode,
+      };
+    });
+    this.sourcetype[1].children = store.getters.belongWards.map((dept) => {
+      return {
+        label: dept.districtName,
+        value: dept.districtCode,
+      };
+    });
     this.taskoptions = store.getters.Serviceauthority;
   },
   methods: {
     /** 鏌ヨ鎮h�呭垪琛� */
     getList() {
-      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 {
+      if (this.queryParams.searchscope == 3) {
         this.queryParams.leaveldeptcodes = store.getters.belongDepts.map(
           (obj) => obj.deptCode
         );
@@ -1061,6 +1197,22 @@
         this.optionstag = response.rows;
       });
     },
+    //鎮h��360璺宠浆
+    gettoken360(sfzh,drcode,drname) {
+      this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
+      if (this.postData.XiaoXiTou.ZuHuMC=='涓芥按甯備腑鍖婚櫌') {
+        this.postData.YeWuXX.YongHuXX.YongHuID = '1400398571877961728';
+        this.postData.YeWuXX.YongHuXX.YongHuXM = 'LSZYY';
+      }
+      query360PatInfo(this.postData).then((res) => {
+        if (res.data.url) {
+          window.open(res.data.url, "_blank");
+          // this.linkUrl = res.data.url;
+        } else {
+          this.$modal.msgWarning("360鏌ヨ鏃犵粨鏋�");
+        }
+      });
+    },
     // 鏌ヨ瀵煎叆灞曠ず鍒楄〃
     geterryList() {
       this.loading = true;
@@ -1072,6 +1224,10 @@
     },
     Distributionservice(row) {
       this.serviceVisible = true;
+    },
+    RiskMarker(row) {
+      this.RiskVisible = true;
+      this.RiskObj = row;
     },
 
     // 鍙栨秷鎸夐挳
@@ -1095,16 +1251,25 @@
     },
     /** 鎼滅储鎸夐挳鎿嶄綔 */
     handleQuery() {
-
       this.queryParams.pageNum = 1;
       this.getList();
     },
     /** 閲嶇疆鎸夐挳鎿嶄綔 */
     resetQuery() {
       this.dateRange = [];
-      this.resetForm("queryForm");
-      this.$refs.tree.setCurrentKey(null);
-      this.handleQuery();
+      (this.queryParams = {
+        pageNum: 1,
+        allhosp: "1",
+        pageSize: 10,
+        notrequiredFlag: 0,
+        searchscope: 2,
+        idcardno: undefined,
+        name: undefined,
+        status: undefined,
+        tagIds: undefined,
+        telcode: undefined,
+      }),
+        this.handleQuery();
     },
     // 澶氶�夋閫変腑鏁版嵁
     handleSelectionChange(selection) {
@@ -1161,7 +1326,25 @@
         }
       });
     },
+    // 鎮h�呰寖鍥村鐞�
+    handleChange(value) {
+      let type = value[0];
+      let code = value.slice(-1)[0];
+      this.queryParams.leavehospitaldistrictcodes = [];
+      this.queryParams.leaveldeptcodes = [];
 
+      if (type == 1) {
+        this.queryParams.leaveldeptcodes.push(code);
+        this.queryParams.leavehospitaldistrictcodes = [];
+        this.queryParams.searchscope = 1;
+      } else if (type == 2) {
+        this.queryParams.leavehospitaldistrictcodes.push(code);
+        this.queryParams.leaveldeptcodes = [];
+        this.queryParams.searchscope = 2;
+      } else {
+        this.queryParams.searchscope = 3;
+      }
+    },
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
     handleDelete(row) {
       const userIds = row.userId || this.ids;
@@ -1181,6 +1364,18 @@
       this.$router.push({
         path: "/followvisit/particty",
         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() {
@@ -1273,7 +1468,8 @@
 }
 .sidecolumn {
   width: 180px;
-  min-height: 100vh;
+  min-height: 80vh;
+  position: fixed;
   text-align: center;
   //   display: flex;
   margin-top: 20px;
@@ -1351,6 +1547,7 @@
 }
 .leftvlue {
   width: 80%;
+  margin-left: 220px;
   margin-top: 10px;
 }
 .leftvlue-bg {

--
Gitblit v1.9.3