From b10795e18a07b9beb72f25406f26f42491828be5 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期二, 22 十月 2024 09:20:19 +0800
Subject: [PATCH] 测试完成

---
 src/views/patient/patient/index.vue |  343 ++++++++++++++++++++++++++++++--------------------------
 1 files changed, 184 insertions(+), 159 deletions(-)

diff --git a/src/views/patient/patient/index.vue b/src/views/patient/patient/index.vue
index f9cc682..055b5e9 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,7 +22,7 @@
     <!-- 鍙充晶鏁版嵁 -->
 
     <div class="leftvlue">
-      <div>
+      <!-- <div>
         <el-row :gutter="10">
           <el-col :span="2.5" v-for="(item, index) in cardlist" :key="index">
             <el-card
@@ -45,7 +45,7 @@
             </el-card>
           </el-col>
         </el-row>
-      </div>
+      </div> -->
       <div class="leftvlue-bg">
         <el-row :gutter="20">
           <!--鐢ㄦ埛鏁版嵁-->
@@ -101,7 +101,7 @@
                   @keyup.enter.native="handleQuery"
                 />
               </el-form-item>
-              <el-form-item label="濮撳悕" prop="name">
+              <el-form-item label="鎮h�呭鍚�" prop="name">
                 <el-input
                   v-model="queryParams.name"
                   placeholder="璇疯緭鍏ュ鍚�"
@@ -109,6 +109,20 @@
                   @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-option>
+              </el-select>
+          </el-form-item>
               <el-form-item label="鑱旂郴鐢佃瘽" prop="telcode">
                 <el-input
                   v-model="queryParams.telcode"
@@ -147,18 +161,7 @@
                   >鏂板</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 :span="1.5">
                 <el-button
                   type="danger"
@@ -212,16 +215,17 @@
             <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
                 fixed
                 label="濮撳悕"
@@ -239,14 +243,14 @@
                 align="center"
                 key="age"
                 prop="age"
-                width="120"
+                width="60"
               />
               <el-table-column
                 label="鍑虹敓骞存湀"
                 align="center"
                 key="birthdate"
                 prop="birthdate"
-                width="160"
+                width="120"
               >
               </el-table-column>
               <el-table-column
@@ -254,7 +258,8 @@
                 align="center"
                 key="placeOfResidence"
                 prop="placeOfResidence"
-                width="120"
+                width="150"
+                :show-overflow-tooltip="true"
               />
               <el-table-column
                 label="鎮h�呮爣绛�"
@@ -270,13 +275,7 @@
                   </span>
                 </template>
               </el-table-column>
-              <el-table-column
-                label="璇佷欢绫诲瀷"
-                align="center"
-                key="idcardtype"
-                prop="idcardtype"
-                width="120"
-              /><el-table-column
+             <el-table-column
                 label="璇佷欢鍙风爜"
                 align="center"
                 key="idcardno"
@@ -298,6 +297,9 @@
                 prop="createTime"
                 width="160"
               >
+              <template slot-scope="scope">
+                  <span>{{ formatTime(scope.row.createTime) }}</span>
+                </template>
               </el-table-column>
               <el-table-column
                 label="鏇存柊鏃ユ湡"
@@ -306,7 +308,7 @@
                 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
@@ -326,25 +328,22 @@
                         query: { id: scope.row.id },
                       })
                     "
-                    v-hasPermi="['system:user:edit']"
                     ><span class="button-textsc"
                       ><i class="el-icon-zoom-in"></i>璇︽儏缂栬緫</span
                     ></el-button
                   >
-                  <!-- <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
                     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
@@ -437,7 +436,7 @@
             width="160"
           >
             <template slot-scope="scope">
-              <span>{{ parseTime(scope.row.createTime) }}</span>
+              <span>{{ formatTime(scope.row.createTime) }}</span>
             </template>
           </el-table-column>
           <el-table-column
@@ -507,7 +506,7 @@
             <el-form-item label="鎬у埆" 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"
@@ -525,7 +524,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
@@ -554,30 +553,8 @@
             </el-form-item>
           </el-col>
         </el-row>
-        <el-row>
-          <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-row v-if="!amendtag">
           <el-col :span="12">
             <el-form-item label="鍑虹敓鍦�" prop="idcardno">
               <el-input
@@ -596,8 +573,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
@@ -609,9 +587,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"
@@ -648,20 +649,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"
@@ -670,7 +670,7 @@
               @click="importTemplate"
               >涓嬭浇妯℃澘
             </el-link>
-            <el-link
+            <!-- <el-link
               type="success"
               :underline="false"
               style="font-size: 24px; vertical-align: baseline"
@@ -678,7 +678,7 @@
               target="_blank"
             >
               鏌ョ湅妯℃澘</el-link
-            >
+            > -->
           </div>
         </el-upload>
       </div>
@@ -688,8 +688,7 @@
           <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="certificatenum" label="璇佷欢鍙风爜">
           </el-table-column>
           <el-table-column prop="goday" label="鍑虹敓鏃ユ湡"> </el-table-column>
@@ -728,8 +727,6 @@
           <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="certificatenum" label="璇佷欢鍙风爜">
           </el-table-column>
           <el-table-column prop="goday" label="鍑虹敓鏃ユ湡"> </el-table-column>
@@ -800,7 +797,7 @@
 
 export default {
   name: "Patient",
-  dicts: ["sys_normal_disable", "task_status", "sys_user_sex"],
+  dicts: ["sys_normal_disable", "task_status", "sys_user_sex",'futter_patient'],
   components: { Treeselect },
   data() {
     return {
@@ -858,10 +855,7 @@
           value: "1",
           label: "鍦ㄩ櫌鎮h��",
         },
-        {
-          value: "2",
-          label: "闂ㄨ瘖鎮h��",
-        },
+
         {
           value: "3",
           label: "浣撴鎮h��",
@@ -870,6 +864,17 @@
           value: "4",
           label: "鍑洪櫌鎮h��",
         },
+      ],
+      sextype: [
+        {
+          value: 1,
+          label: "鐢�",
+        },
+        {
+          value: 2,
+          label: "濂�",
+        },
+
       ],
 
       cardlist: [
@@ -888,13 +893,22 @@
           router: "/patient/hospital",
         },
         {
-          name: "闂ㄨ瘖鎮h��",
-          value: 56,
-          router: "/patient/outpatient",
-        },
-        {
           name: "绂讳笘鎮h��",
           value: 0,
+        },
+      ],
+      source: [
+        {
+          value: 0,
+          label: "鎵�灞炴偅鑰�",
+        },
+        {
+          value: 1,
+          label: "绉戝鎮h��",
+        },
+        {
+          value: 2,
+          label: "鐥呭尯鎮h��",
         },
       ],
       // 琛ㄥ崟鍙傛暟
@@ -935,13 +949,14 @@
         // 璁剧疆涓婁紶鐨勮姹傚ご閮�
         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,
+        searchscope:2,
         idcardno: undefined,
         name: undefined,
         status: undefined,
@@ -950,49 +965,40 @@
       },
       // 琛ㄥ崟鏍¢獙
       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" }],
+        age: [{ 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" },
+        ],
       },
     };
   },
@@ -1011,10 +1017,24 @@
   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;
@@ -1075,6 +1095,7 @@
     },
     /** 鎼滅储鎸夐挳鎿嶄綔 */
     handleQuery() {
+
       this.queryParams.pageNum = 1;
       this.getList();
     },
@@ -1100,7 +1121,6 @@
     },
     /** 淇敼鎸夐挳鎿嶄綔 */
     handleUpdate(row) {
-      console.log(row);
       const userIds = row.id || this.ids;
       particularpatient(userIds).then((response) => {
         console.log(response);
@@ -1111,30 +1131,35 @@
     },
     //淇敼/鏂板鎮h��
     submitForm() {
-      if (this.amendtag) {
-        this.form.isoperation = 2;
-        alterpatient(this.form)
-          .then((response) => {
-            console.log(response);
-          })
-          .then(() => {
-            this.getList();
-            this.$modal.msgSuccess("淇敼鎴愬姛");
-          });
-      } 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;
+      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;
+        }
+      });
     },
 
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
@@ -1201,7 +1226,7 @@
     /** 涓嬭浇妯℃澘鎿嶄綔 */
     importTemplate() {
       this.download(
-        "system/user/importTemplate",
+        "smartor/import/getImportPatTemplate",
         {},
         `user_template_${new Date().getTime()}.xlsx`
       );
@@ -1253,7 +1278,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),

--
Gitblit v1.9.3