From 720381cfb95f06c87c0b11fe92531d06c2b02e12 Mon Sep 17 00:00:00 2001
From: lkk <364857242@qq.com>
Date: 星期三, 15 一月 2025 17:58:05 +0800
Subject: [PATCH] 11

---
 src/views/hosp/hosp/index.vue |  330 +++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 270 insertions(+), 60 deletions(-)

diff --git a/src/views/hosp/hosp/index.vue b/src/views/hosp/hosp/index.vue
index 9e359ce..b1afb15 100644
--- a/src/views/hosp/hosp/index.vue
+++ b/src/views/hosp/hosp/index.vue
@@ -1,14 +1,33 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+    <el-form
+      :model="queryParams"
+      ref="queryForm"
+      size="small"
+      :inline="true"
+      v-show="showSearch"
+      label-width="68px"
+    >
       <el-form-item label="闄㈠尯鍚嶇О" prop="hospAreaName">
-        <el-input style="width:160px" v-model="queryParams.hospAreaName" placeholder="璇疯緭鍏ラ櫌鍖哄悕绉�" clearable @keyup.enter.native="handleQuery"/>
+        <el-input
+          style="width: 160px"
+          v-model="queryParams.hospAreaName"
+          placeholder="璇疯緭鍏ラ櫌鍖哄悕绉�"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
       </el-form-item>
       <!-- <el-form-item label="鏈烘瀯ID" prop="hospid">
         <el-input v-model="queryParams.hospid" placeholder="璇疯緭鍏ユ満鏋処D" clearable @keyup.enter.native="handleQuery"/>
       </el-form-item> -->
       <el-form-item label="鏈烘瀯鍚嶇О" prop="hospName">
-        <el-input v-model="queryParams.hospName" style="width:160px" placeholder="璇疯緭鍏ユ満鏋勫悕绉�" clearable @keyup.enter.native="handleQuery"/>
+        <el-input
+          v-model="queryParams.hospName"
+          style="width: 160px"
+          placeholder="璇疯緭鍏ユ満鏋勫悕绉�"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
       </el-form-item>
       <!-- <el-form-item label="闄㈠尯缂栫爜" prop="code">
         <el-input v-model="queryParams.code" placeholder="璇疯緭鍏ラ櫌鍖虹紪鐮�" clearable @keyup.enter.native="handleQuery"/>
@@ -17,15 +36,37 @@
         <el-input v-model="queryParams.areaid" placeholder="璇疯緭鍏ュ尯鍒扞D" clearable @keyup.enter.native="handleQuery" style="width:180px"/>
       </el-form-item> -->
       <el-form-item label="鍖哄垝鍚嶇О" prop="areaName">
-        <el-input v-model="queryParams.areaName" placeholder="璇疯緭鍏ュ尯鍒掑悕绉�" clearable @keyup.enter.native="handleQuery" style="width:180px"/>
+        <el-input
+          v-model="queryParams.areaName"
+          placeholder="璇疯緭鍏ュ尯鍒掑悕绉�"
+          clearable
+          @keyup.enter.native="handleQuery"
+          style="width: 180px"
+        />
       </el-form-item>
       <el-form-item label="涓婚櫌鍖�" prop="mainHospArea">
-        <el-select v-model="queryParams.mainHospArea" placeholder="鏄惁涓婚櫌鍖�" clearable style="width:110px">
-          <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label" :value="dict.value" />
+        <el-select
+          v-model="queryParams.mainHospArea"
+          placeholder="鏄惁涓婚櫌鍖�"
+          clearable
+          style="width: 110px"
+        >
+          <el-option
+            v-for="dict in dict.type.sys_yes_no"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
         </el-select>
       </el-form-item>
       <el-form-item label="璐熻矗浜�" prop="principal">
-        <el-input v-model="queryParams.principal" placeholder="璇疯緭鍏ヨ礋璐d汉" clearable @keyup.enter.native="handleQuery" style="width:140px"/>
+        <el-input
+          v-model="queryParams.principal"
+          placeholder="璇疯緭鍏ヨ礋璐d汉"
+          clearable
+          @keyup.enter.native="handleQuery"
+          style="width: 140px"
+        />
       </el-form-item>
       <!-- <el-form-item label="缂栧埗搴婁綅" prop="plaitBed">
         <el-input v-model="queryParams.plaitBed" placeholder="璇疯緭鍏ョ紪鍒跺簥浣�" clearable @keyup.enter.native="handleQuery"/>
@@ -37,58 +78,185 @@
         <el-input v-model="queryParams.orderNum" 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-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" icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['hosp:hosp:add']">鏂板</el-button>
+        <el-button
+          type="primary"
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['hosp:hosp: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:hosp:edit']">淇敼</el-button>
+        <el-button
+          type="primary"
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['hosp:hosp: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:hosp:remove']">鍒犻櫎</el-button>
+        <el-button
+          type="primary"
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['hosp:hosp:remove']"
+          >鍒犻櫎</el-button
+        >
       </el-col>
       <el-col :span="1.5">
-        <el-button type="primary" icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['hosp:hosp:export']">瀵煎嚭</el-button>
+        <el-button
+          type="primary"
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['hosp:hosp:export']"
+          >瀵煎嚭</el-button
+        >
       </el-col>
-      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+      <right-toolbar
+        :showSearch.sync="showSearch"
+        @queryTable="getList"
+      ></right-toolbar>
     </el-row>
 
-    <el-table v-loading="loading" :data="hospList" @selection-change="handleSelectionChange" border
+    <el-table
+      v-loading="loading"
+      :data="hospList"
+      @selection-change="handleSelectionChange"
+      border
     >
       <el-table-column type="selection" width="55" align="center" fixed />
-      <el-table-column label="搴忓彿" align="center" prop="newID" width="50px" fixed="left"/>
-      <el-table-column label="闄㈠尯鍚嶇О" align="center" prop="hospAreaName" width="120px" :show-overflow-tooltip="true" fixed="left"/>
+      <el-table-column
+        label="搴忓彿"
+        align="center"
+        prop="newID"
+        width="50px"
+        fixed="left"
+      />
+      <el-table-column
+        label="闄㈠尯鍚嶇О"
+        align="center"
+        prop="hospAreaName"
+        width="120px"
+        :show-overflow-tooltip="true"
+        fixed="left"
+      />
       <!-- <el-table-column label="鍖荤枟鏈烘瀯ID" align="center" prop="hospid" /> -->
       <!-- <el-table-column label="鍖荤枟鏈烘瀯鍚嶇О" align="center" prop="hospName" /> -->
-      <el-table-column label="闄㈠尯缂栫爜" align="center" prop="code" :show-overflow-tooltip="true"/>
-      <el-table-column label="浜旂瑪绠�鐮�" align="center" prop="wbm" :show-overflow-tooltip="true"/>
-      <el-table-column label="鎷奸煶绠�鐮�" align="center" prop="spell" :show-overflow-tooltip="true"/>
+      <el-table-column
+        label="闄㈠尯缂栫爜"
+        align="center"
+        prop="code"
+        :show-overflow-tooltip="true"
+      />
+      <el-table-column
+        label="浜旂瑪绠�鐮�"
+        align="center"
+        prop="wbm"
+        :show-overflow-tooltip="true"
+      />
+      <el-table-column
+        label="鎷奸煶绠�鐮�"
+        align="center"
+        prop="spell"
+        :show-overflow-tooltip="true"
+      />
       <!-- <el-table-column label="琛屾斂鍖哄垝ID" align="center" prop="areaid" /> -->
       <!-- <el-table-column label="琛屾斂鍖哄垝鍚嶇О" align="center" prop="areaName" /> -->
-      <el-table-column label="涓婚櫌鍖�" align="center" prop="mainHospArea" :show-overflow-tooltip="true">
+      <el-table-column
+        label="涓婚櫌鍖�"
+        align="center"
+        prop="mainHospArea"
+        :show-overflow-tooltip="true"
+      >
         <template slot-scope="scope">
-          <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.mainHospArea"/>
+          <dict-tag
+            :options="dict.type.sys_yes_no"
+            :value="scope.row.mainHospArea"
+          />
         </template>
       </el-table-column>
-      <el-table-column label="璐熻矗浜�" align="center" prop="principal" :show-overflow-tooltip="true"/>
-      <el-table-column label="璐熻矗浜虹數璇�" align="center" prop="phone" :show-overflow-tooltip="true" width="120px"/>
-      <el-table-column label="缂栧埗搴婁綅" align="center" prop="plaitBed" :show-overflow-tooltip="true"/>
-      <el-table-column label="寮�鏀惧簥浣�" align="center" prop="openBed" :show-overflow-tooltip="true"/>
-      <el-table-column label="鎴愮珛鏃ユ湡" align="center" prop="buildDate" width="120px" :show-overflow-tooltip="true">
+      <el-table-column
+        label="璐熻矗浜�"
+        align="center"
+        prop="principal"
+        :show-overflow-tooltip="true"
+      />
+      <el-table-column
+        label="璐熻矗浜虹數璇�"
+        align="center"
+        prop="phone"
+        :show-overflow-tooltip="true"
+        width="120px"
+      />
+      <el-table-column
+        label="缂栧埗搴婁綅"
+        align="center"
+        prop="plaitBed"
+        :show-overflow-tooltip="true"
+      />
+      <el-table-column
+        label="寮�鏀惧簥浣�"
+        align="center"
+        prop="openBed"
+        :show-overflow-tooltip="true"
+      />
+      <el-table-column
+        label="鎴愮珛鏃ユ湡"
+        align="center"
+        prop="buildDate"
+        width="120px"
+        :show-overflow-tooltip="true"
+      >
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.buildDate, "{y}-{m}-{d}") }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="澶囨敞" align="center" prop="remark" :show-overflow-tooltip="true"/>
-      <el-table-column label="鎺掑簭" align="center" prop="orderNum" width="50px" :show-overflow-tooltip="true"/>
-      <el-table-column label="鏁版嵁鐘舵��" align="center" prop="effective" :show-overflow-tooltip="true">
+      <el-table-column
+        label="澶囨敞"
+        align="center"
+        prop="remark"
+        :show-overflow-tooltip="true"
+      />
+      <el-table-column
+        label="鎺掑簭"
+        align="center"
+        prop="orderNum"
+        width="50px"
+        :show-overflow-tooltip="true"
+      />
+      <el-table-column
+        label="鏁版嵁鐘舵��"
+        align="center"
+        prop="effective"
+        :show-overflow-tooltip="true"
+      >
         <template slot-scope="scope">
-          <dict-tag :options="dict.type.dict_data_status" :value="scope.row.effective"/>
+          <dict-tag
+            :options="dict.type.dict_data_status"
+            :value="scope.row.effective"
+          />
         </template>
       </el-table-column>
       <!-- <el-table-column label="鍒涘缓浜哄鍚�" align="center" prop="createByName" /> -->
@@ -214,13 +382,25 @@
           <!-- <el-input v-model="form.areaid" placeholder="璇疯緭鍏ヨ鏀垮尯鍒掑悕绉�" /> -->
         </el-form-item>
         <el-form-item label="璐熻矗浜�" prop="principal">
-          <el-input v-model="form.principal" placeholder="璇疯緭鍏ヨ礋璐d汉" style="width:135px" />
+          <el-input
+            v-model="form.principal"
+            placeholder="璇疯緭鍏ヨ礋璐d汉"
+            style="width: 135px"
+          />
         </el-form-item>
         <el-form-item label="闄㈠尯鍦板潃" prop="areaName">
-          <el-input v-model="form.areaName" placeholder="璇疯緭鍏ラ櫌鍖哄湴鍧�" style="width:510px" />
+          <el-input
+            v-model="form.areaName"
+            placeholder="璇疯緭鍏ラ櫌鍖哄湴鍧�"
+            style="width: 510px"
+          />
         </el-form-item>
         <el-form-item label="璐熻矗浜虹數璇�" prop="phone">
-          <el-input v-model="form.phone" placeholder="璇疯緭鍏ヨ礋璐d汉鐢佃瘽" style="width:135px" />
+          <el-input
+            v-model="form.phone"
+            placeholder="璇疯緭鍏ヨ礋璐d汉鐢佃瘽"
+            style="width: 135px"
+          />
         </el-form-item>
         <el-form-item label="鎴愮珛鏃ユ湡" prop="buildDate">
           <el-date-picker
@@ -240,17 +420,21 @@
             style="width: 200px"
           />
           <el-form-item label="鎺掑簭" prop="orderNum">
-          <el-input
-            v-model="form.orderNum"
-            placeholder="璇疯緭鍏ユ帓搴�"
-            style="width: 145px"
-          />
-        </el-form-item>
+            <el-input
+              v-model="form.orderNum"
+              placeholder="璇疯緭鍏ユ帓搴�"
+              style="width: 145px"
+            />
+          </el-form-item>
         </el-form-item>
         <el-form-item label="寮�鏀惧簥浣嶆暟" prop="openBed">
-          <el-input v-model="form.openBed" placeholder="璇疯緭鍏ュ紑鏀惧簥浣嶆暟" style="width: 200px" />
+          <el-input
+            v-model="form.openBed"
+            placeholder="璇疯緭鍏ュ紑鏀惧簥浣嶆暟"
+            style="width: 200px"
+          />
         </el-form-item>
-        
+
         <!-- <el-form-item label="鏁版嵁鐘舵��(PT10.00.004)" prop="effective">
           <el-select
             v-model="form.effective"
@@ -314,7 +498,7 @@
   name: "Hosp",
   dicts: ["sys_yes_no", "dict_data_status", "dict_qhdm"],
   data() {
-    let checkPhoneNum = (rule, value, callback) => {
+    /* let checkPhoneNum = (rule, value, callback) => {
          console.log( value)
       let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/);
       if (value == "" && value == undefined && !value) {
@@ -324,7 +508,18 @@
       }else if (!patter.test(value)) {
         return callback('');
       }
+    }; */
+    let checkPhoneNum = (rule, value, callback) => {
+      const pattern = /^1[3-9]\d{9}$/; // 姝g‘鐨勬墜鏈哄彿姝e垯
+      if (!value) {
+        return callback(new Error("璇疯緭鍏ヨ礋璐d汉鐢佃瘽")); // 蹇呭~椤规牎楠�
+      }
+      if (!pattern.test(value)) {
+        return callback(new Error("璇疯緭鍏ユ纭殑鎵嬫満鍙�")); // 鏍煎紡鏍¢獙
+      }
+      return callback(); // 鏍¢獙閫氳繃
     };
+
     return {
       // 閬僵灞�
       loading: true,
@@ -365,31 +560,27 @@
       // 琛ㄥ崟鍙傛暟
       form: {},
       // 琛ㄥ崟鏍¢獙
-      rules: {
+      /* rules: {
         hospAreaName: [
-          { required: true, validator: checkPhoneNum,  trigger: "blur" },
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
         ],
-        hospid: [
-          { required: true, validator: checkPhoneNum,  trigger: "blur" },
-        ],
+        hospid: [{ required: true, validator: checkPhoneNum, trigger: "blur" }],
         // hospName: [
         //   { required: true, message: "鍖荤枟鏈烘瀯鍚嶇О涓嶈兘涓虹┖", trigger: "blur" },
         // ],
-        code: [
-          { required: true, validator: checkPhoneNum,  trigger: "blur" },
-        ],
+        code: [{ required: true, validator: checkPhoneNum, trigger: "blur" }],
         mainHospArea: [
           {
             required: true,
-            validator: checkPhoneNum, 
+            validator: checkPhoneNum,
             trigger: "change",
           },
         ],
         createBy: [
-          { required: true, validator: checkPhoneNum,  trigger: "blur" },
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
         ],
         createTime: [
-          { required: true, validator: checkPhoneNum,  trigger: "blur" },
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
         ],
         // orderNum: [
         //   { required: true, message: "鎺掑簭涓嶈兘涓虹┖", trigger: "blur" },
@@ -397,24 +588,43 @@
         effective: [
           {
             required: true,
-            validator: checkPhoneNum, 
+            validator: checkPhoneNum,
             trigger: "change",
           },
         ],
         createByName: [
-          { required: true, validator: checkPhoneNum,  trigger: "blur" },
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
         ],
         updateByName: [
-          { required: true, validator: checkPhoneNum,  trigger: "blur" },
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
         ],
         areaName: [
-          { required: true, validator: checkPhoneNum,  trigger: "blur" },
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
         ],
         principal: [
-          { required: true, validator: checkPhoneNum,  trigger: "blur" },
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
         ],
         phone: [
-          { required: true, validator: checkPhoneNum,  trigger: "blur" },
+          { required: true, validator: checkPhoneNum, trigger: "blur" }, // 浣跨敤鎵嬫満鍙锋牎楠屽櫒
+        ],
+      }, */
+
+      rules: {
+        hospAreaName: [
+          { required: true, message: "璇疯緭鍏ラ櫌鍖哄悕绉�", trigger: "blur" },
+        ],
+        code: [{ required: true, message: "璇疯緭鍏ラ櫌鍖虹紪鐮�", trigger: "blur" }],
+        mainHospArea: [
+          { required: true, message: "璇烽�夋嫨鏄惁涓婚櫌鍖�", trigger: "change" },
+        ],
+        principal: [
+          { required: true, message: "璇疯緭鍏ヨ礋璐d汉", trigger: "blur" },
+        ],
+        areaName: [
+          { required: true, message: "璇疯緭鍏ラ櫌鍖哄湴鍧�", trigger: "blur" },
+        ],
+        phone: [
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
         ],
       },
     };

--
Gitblit v1.8.0