From 6d2f5a43b9bf2922c137e18e3fb4ba91fcfce459 Mon Sep 17 00:00:00 2001
From: qx <1084500556@qq.com>
Date: 星期四, 17 四月 2025 11:14:56 +0800
Subject: [PATCH] qx

---
 src/views/reservation/resercopy/index.vue |  635 +++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 480 insertions(+), 155 deletions(-)

diff --git a/src/views/reservation/resercopy/index.vue b/src/views/reservation/resercopy/index.vue
index 7f859be..388739b 100644
--- a/src/views/reservation/resercopy/index.vue
+++ b/src/views/reservation/resercopy/index.vue
@@ -1,74 +1,197 @@
 <template>
   <div class="app-container">
-    <el-form :model="objs" :rules="rules" ref="form" size="small" :inline="true" label-width="100px">
+    <el-form
+      :model="objs"
+      :rules="rules"
+      ref="form"
+      size="small"
+      :inline="true"
+      label-width="100px"
+    >
       <el-form-item label="鍗曚綅鍚嶇О" prop="drugManufacturerId">
-        <el-select :remote-method="getRemoteData" v-model="objs.drugManufacturerId" remote filterable style="width: 200px"
-          placeholder="璇烽�夋嫨鍗曚綅鍚嶇О" clearable @clear="getCompanyList" @change="idFn">
-          <el-option v-for="dict in CompanyList" :key="dict.cnName" :label="dict.cnName"
-            :value="dict.drugManufacturerId" />
+        <el-select
+          :remote-method="getRemoteData"
+          v-model="objs.drugManufacturerId"
+          remote
+          filterable
+          style="width: 200px"
+          placeholder="璇烽�夋嫨鍗曚綅鍚嶇О"
+          clearable
+          @clear="getCompanyList"
+          @change="idFn"
+        >
+          <el-option
+            v-for="dict in CompanyList"
+            :key="dict.cnName"
+            :label="dict.cnName"
+            :value="dict.drugManufacturerId"
+          />
         </el-select>
         <i class="el-icon-circle-plus-outline" @click="handleAdd"></i>
       </el-form-item>
-      <el-form-item label="閮ㄩ棬" prop="dwDeptName">
-        <el-select v-model="objs.dwDeptName" placeholder="璇烽�夋嫨閮ㄩ棬" style="width: 200px" clearable @change="idBm">
-          <el-option v-for="dict in deptList" :key="dict.id" :label="dict.dwDeptName" :value="dict.id" />
+      <!-- <el-form-item label="閮ㄩ棬" prop="dwDeptName">
+        <el-select
+          v-model="objs.dwDeptName"
+          placeholder="璇烽�夋嫨閮ㄩ棬"
+          style="width: 200px"
+          clearable
+          @change="idBm"
+        >
+          <el-option
+            v-for="dict in deptList"
+            :key="dict.id"
+            :label="dict.dwDeptName"
+            :value="dict.id"
+          />
         </el-select>
-      </el-form-item>
+        <i class="el-icon-circle-plus-outline" @click="handleAddbumen"></i>
+      </el-form-item> -->
       <!-- <el-form-item label="鍒嗙粍" prop="payType">
         <el-select v-model="objs.payType" placeholder="璇烽�夋嫨缁撶畻鏂瑰紡" style="width: 200px" clearable>
           <el-option v-for="dict in groupingList" :key="dict.id" :label="dict.groupingName" :value="dict.id" />
         </el-select>
       </el-form-item> -->
       <el-form-item label="棰勭害鏃堕棿" prop="reservationTime">
-        <el-date-picker clearable v-model="objs.reservationTime" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
-          style="width: 220px" placeholder="璇烽�夋嫨棰勭害鏃ユ湡" @change="selectTime" :picker-options="setDisabled">
+        <el-date-picker
+          clearable
+          v-model="objs.reservationTime"
+          type="date"
+          format="yyyy-MM-dd"
+          value-format="yyyy-MM-dd"
+          style="width: 130px"
+          placeholder="璇烽�夋嫨棰勭害鏃ユ湡"
+          @change="selectTime"
+          :picker-options="setDisabled"
+        >
         </el-date-picker>
+      </el-form-item>
+      <el-form-item label="鏈夋晥澶╂暟" prop="yxts">
+        <el-input
+          style="width: 100px"
+          v-model="objs.yxts"
+          placeholder="鏈夋晥澶╂暟"
+        />澶�(鍙嚜瀹氫箟)
       </el-form-item>
     </el-form>
 
-    <el-row :gutter="10" class="mb8" style="margin: 5px 20px;">
+    <el-row :gutter="10" class="mb8" style="margin: 5px 20px">
       <el-col :span="1.5">
-        <el-button type="primary" icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
+        <el-button
+          type="primary"
+          icon="el-icon-refresh"
+          size="mini"
+          @click="resetQuery"
+          >閲嶇疆</el-button
+        >
       </el-col>
       <el-col :span="1.5">
-        <el-button type="primary" icon="el-icon-upload2" size="mini" @click="handleImport"
-          v-hasPermi="['system:user:import']">瀵煎叆</el-button>
+        <el-button
+          type="primary"
+          icon="el-icon-upload2"
+          size="mini"
+          @click="handleImport"
+          >瀵煎叆</el-button
+        >
       </el-col>
       <el-col :span="1.5">
-        <el-button type="primary" class="btn" icon="el-icon-thumb" :disabled="isdisabled" size="mini" @click="submitForm">
-          纭</el-button>
+        <el-button
+          type="primary"
+          icon="el-icon-upload2"
+          size="mini"
+          @click="importTemplate"
+          >涓嬭浇妯℃澘</el-button
+        >
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          class="btn"
+          icon="el-icon-thumb"
+          :disabled="isdisabled"
+          size="mini"
+          @click="submitForm"
+        >
+          纭</el-button
+        >
       </el-col>
     </el-row>
-    <div style="margin: 5px 20px;width: 94%">
-      <el-table v-loading="loading" :data="userList" :summary-method="getSummaries" show-summary border>
-
-        <el-table-column label="鍗曚綅鍚嶇О" align="center" prop="company" width="200" />
-        <el-table-column label="宸ュ彿" align="center" prop="jobNo" width="80" />
+    <div style="margin: 5px 20px; width: 94%">
+      <el-table
+        v-loading="loading"
+        :data="userList"
+        :summary-method="getSummaries"
+        show-summary
+        border
+      >
+        <el-table-column
+          label="鍗曚綅鍚嶇О"
+          align="center"
+          prop="company"
+          width="200"
+        >
+        </el-table-column>
+        <el-table-column
+          label="鍗曚綅閮ㄩ棬"
+          align="center"
+          prop="department"
+          width="200"
+        >
+        </el-table-column>
+        <!-- <el-table-column label="宸ュ彿" align="center" prop="jobNo" width="80" /> -->
         <el-table-column label="濮撳悕" align="center" prop="name" width="75" />
         <el-table-column label="鎬у埆" align="center" prop="sex" width="75">
           <template slot-scope="scope">
-            <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex" />
+            <dict-tag
+              :options="dict.type.sys_user_sex"
+              :value="scope.row.sex"
+            />
           </template>
         </el-table-column>
-        <el-table-column label="韬唤璇佸彿" align="center" prop="idCard" width="200" />
+        <el-table-column
+          label="韬唤璇佸彿"
+          align="center"
+          prop="idCard"
+          width="200"
+        />
         <el-table-column label="骞撮緞" align="center" prop="age" width="75" />
-        <el-table-column label="鍑虹敓鏃ユ湡" align="center" prop="birthday" width="100" />
-        <el-table-column label="鑱屼綅" align="center" prop="position" />
-        <el-table-column label="閮ㄩ棬" align="center" prop="department" />
-        <el-table-column label="閮ㄩ棬缂栧彿" align="center" prop="departmentId" />
-        <el-table-column label="鑱旂郴鐢佃瘽" align="center" prop="phoe" width="120" />
+        <el-table-column
+          label="鍑虹敓鏃ユ湡"
+          align="center"
+          prop="birthday"
+          width="100"
+        />
+        <!-- <el-table-column label="鑱屼綅" align="center" prop="position" /> -->
+        <!-- <el-table-column label="閮ㄩ棬" align="center" prop="department" /> -->
+        <!-- <el-table-column label="閮ㄩ棬缂栧彿" align="center" prop="departmentId" /> -->
+        <el-table-column
+          label="鑱旂郴鐢佃瘽"
+          align="center"
+          prop="phoe"
+          width="140"
+        />
         <el-table-column label="鍦板潃" align="center" prop="address" />
-        <el-table-column label="濠氬Щ鐘跺喌" align="center" prop="marriage" key="marriage" >
-        <template slot-scope="scope">
-                    <dict-tag :options="dict.type.dict_user_marry" :value="scope.row.marriage" />
-                </template>
-                </el-table-column>
-      <el-table-column label="姘戞棌" align="center" prop="nation" key="nation" >
-        <template slot-scope="scope">
-                    <dict-tag :options="dict.type.dict_user_national" :value="scope.row.nation" />
-                </template>
-                </el-table-column>
-        <el-table-column label="鑱旂郴閭" align="center" prop="email" />
+        <el-table-column
+          label="濠氬Щ鐘跺喌"
+          align="center"
+          prop="marriage"
+          key="marriage"
+        >
+          <template slot-scope="scope">
+            <dict-tag
+              :options="dict.type.dict_user_marry"
+              :value="scope.row.marriage"
+            />
+          </template>
+        </el-table-column>
+        <el-table-column label="姘戞棌" align="center" prop="nation" key="nation">
+          <template slot-scope="scope">
+            <dict-tag
+              :options="dict.type.dict_user_national"
+              :value="scope.row.nation"
+            />
+          </template>
+        </el-table-column>
+        <!-- <el-table-column label="鑱旂郴閭" align="center" prop="email" /> -->
         <!-- <el-table-column label="浣撴绫诲埆" align="center" prop="tjCategory" /> -->
         <el-table-column label="鍒嗙粍" align="center" prop="groupingName" />
         <el-table-column label="椤圭洰鏀惰垂" align="center" prop="ysPrice" />
@@ -76,10 +199,26 @@
     </div>
 
     <!-- 鐢ㄦ埛瀵煎叆瀵硅瘽妗� -->
-    <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
-      <el-upload ref="upload" :limit="1" accept=".xlsx, .xls" :headers="upload.headers" :data="data" :action="upload.url"
-        :disabled="upload.isUploading" :on-progress="handleFileUploadProgress" :on-success="handleFileSuccess"
-        :auto-upload="false" drag>
+    <el-dialog
+      :title="upload.title"
+      :visible.sync="upload.open"
+      width="400px"
+      append-to-body
+    >
+      <el-upload
+        ref="upload"
+        :limit="1"
+        :key="uploadKey" 
+        accept=".xls"
+        :headers="upload.headers"
+        :data="data"
+        :action="upload.url"
+        :disabled="upload.isUploading"
+        :on-progress="handleFileUploadProgress"
+        :on-success="handleFileSuccess"
+        :auto-upload="false"
+        drag
+      >
         <i class="el-icon-upload"></i>
         <div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div>
         <div class="el-upload__tip text-center" slot="tip">
@@ -87,22 +226,37 @@
             <el-checkbox v-model="upload.updateSupport" />
             鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹�
           </div>
-          <span>浠呭厑璁稿鍏ls銆亁lsx鏍煎紡鏂囦欢銆�</span>
-          <el-link type="primary" :underline="false" style="font-size: 12px; vertical-align: baseline"
-            @click="importTemplate">涓嬭浇妯℃澘</el-link>
+          <span>浠呭厑璁稿鍏ls鏍煎紡鏂囦欢銆�</span>
+          <el-link
+            type="primary"
+            :underline="false"
+            style="font-size: 12px; vertical-align: baseline"
+            @click="importTemplate"
+            >涓嬭浇妯℃澘</el-link
+          >
         </div>
       </el-upload>
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitFileForm">纭� 瀹�</el-button>
+        <el-button type="primary" @click="submitFileForm">淇濆瓨淇℃伅</el-button>
         <el-button @click="upload.open = false">鍙� 娑�</el-button>
       </div>
     </el-dialog>
 
-
     <!-- 娣诲姞鎴栦慨鏀逛綋妫�鍗曚綅淇℃伅缁存姢瀵硅瘽妗� -->
     <div class="dia">
-      <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
-        <el-form ref="form" :model="form" :rules="rules" label-width="100px" :inline="true">
+      <el-dialog
+        :title="title"
+        :visible.sync="open"
+        width="1000px"
+        append-to-body
+      >
+        <el-form
+          ref="form"
+          :model="form"
+          :rules="rules"
+          label-width="100px"
+          :inline="true"
+        >
           <el-form-item label="鍗曚綅鍚嶇О" prop="cnName">
             <el-input v-model="form.cnName" placeholder="璇疯緭鍏ヤ腑鏂囧悕绉�" />
           </el-form-item>
@@ -110,7 +264,10 @@
             <el-input v-model="form.contactPerson" placeholder="璇疯緭鍏ヨ仈绯讳汉" />
           </el-form-item>
           <el-form-item label="鑱旂郴鐢佃瘽" prop="contactPhone">
-            <el-input v-model="form.contactPhone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" />
+            <el-input
+              v-model="form.contactPhone"
+              placeholder="璇疯緭鍏ヨ仈绯荤數璇�"
+            />
           </el-form-item>
           <el-form-item label="绋庡彿" prop="taxNumber">
             <el-input v-model="form.taxNumber" placeholder="璇疯緭鍏ョ◣鍙�" />
@@ -119,10 +276,16 @@
             <el-input v-model="form.legalPerson" placeholder="璇疯緭鍏ユ硶浜�" />
           </el-form-item>
           <el-form-item label="娉ㄥ唽鍦板潃" prop="registerAddress">
-            <el-input v-model="form.registerAddress" placeholder="璇疯緭鍏ユ敞鍐屽湴鍧�" />
+            <el-input
+              v-model="form.registerAddress"
+              placeholder="璇疯緭鍏ユ敞鍐屽湴鍧�"
+            />
           </el-form-item>
           <el-form-item label="閫氳鍦板潃" prop="mailingAddress">
-            <el-input v-model="form.mailingAddress" placeholder="璇疯緭鍏ラ�氳鍦板潃" />
+            <el-input
+              v-model="form.mailingAddress"
+              placeholder="璇疯緭鍏ラ�氳鍦板潃"
+            />
           </el-form-item>
           <el-form-item label="寮�鎴烽摱琛�" prop="bankAccount">
             <el-input v-model="form.bankAccount" placeholder="璇疯緭鍏ュ紑鎴烽摱琛�" />
@@ -143,19 +306,34 @@
             <el-input v-model="form.faxNumber" placeholder="璇疯緭鍏ヤ紶鐪�" />
           </el-form-item>
           <el-form-item label="琛屾斂鍖哄垝鍚嶇О" prop="areaName">
-            <el-input v-model="form.areaName" placeholder="璇疯緭鍏ヨ鏀垮尯鍒掑悕绉�" />
+            <el-input
+              v-model="form.areaName"
+              placeholder="璇疯緭鍏ヨ鏀垮尯鍒掑悕绉�"
+            />
           </el-form-item>
           <el-form-item label="鎺掑簭" prop="orderNum">
             <el-input v-model="form.orderNum" placeholder="璇疯緭鍏ユ帓搴�" />
           </el-form-item>
           <el-form-item label="鏈夋晥鏃堕棿" prop="validTime">
-            <el-date-picker clearable v-model="form.validTime" type="date" value-format="yyyy-MM-dd"
-              placeholder="璇烽�夋嫨鏈夋晥鏃堕棿">
-            </el-date-picker>
-          </el-form-item><br>
+            <el-date-picker
+              clearable
+              v-model="form.validTime"
+              type="date"
+              value-format="yyyy-MM-dd"
+              placeholder="璇烽�夋嫨鏈夋晥鏃堕棿"
+            >
+            </el-date-picker> </el-form-item
+          ><br />
           <el-form-item label="澶囨敞" prop="remark">
-            <el-input v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" :rows="2" label-width="400px"
-              style="width: 830px" resize="none"></el-input>
+            <el-input
+              v-model="form.remark"
+              type="textarea"
+              placeholder="璇疯緭鍏ュ唴瀹�"
+              :rows="2"
+              label-width="400px"
+              style="width: 830px"
+              resize="none"
+            ></el-input>
           </el-form-item>
         </el-form>
         <div slot="footer" class="dialog-footer2">
@@ -164,14 +342,77 @@
         </div>
       </el-dialog>
     </div>
+
+    <!-- 娣诲姞鎴栦慨鏀归儴闂ㄤ俊鎭淮鎶ゅ璇濇 -->
+    <div class="dia">
+      <el-dialog
+        :title="title"
+        :visible.sync="open1"
+        width="1000px"
+        append-to-body
+      >
+        <el-form
+          ref="form"
+          :model="form"
+          :rules="rules"
+          label-width="100px"
+          :inline="true"
+        >
+          <el-form-item label="鍗曚綅鍚嶇О" prop="drugManufacturerId">
+            <el-select
+              :remote-method="getRemoteData"
+              v-model="objs.drugManufacturerId"
+              remote
+              filterable
+              style="width: 200px"
+              placeholder="璇烽�夋嫨鍗曚綅鍚嶇О"
+              clearable
+              @clear="getCompanyList"
+              @change="idFn1"
+            >
+              <el-option
+                v-for="dict in CompanyList"
+                :key="dict.cnName"
+                :label="dict.cnName"
+                :value="dict.drugManufacturerId"
+              />
+            </el-select>
+          </el-form-item>
+          <el-form-item label="閮ㄩ棬鍚嶇О" prop="dwDeptName">
+            <el-input v-model="form.dwDeptName" placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�" />
+          </el-form-item>
+          <el-form-item label="绛剧害閲戦" prop="signingPrice">
+            <el-input
+              v-model="form.signingPrice"
+              placeholder="璇疯緭鍏ョ绾﹂噾棰�"
+            />
+          </el-form-item>
+        </el-form>
+        <div slot="footer" class="dialog-footer2">
+          <el-button type="primary" @click="handleAddDept">纭� 瀹�</el-button>
+          <el-button @click="cancel">鍙� 娑�</el-button>
+        </div>
+      </el-dialog>
+    </div>
   </div>
 </template>
 
 <script>
-import { addComp, Deptlist, getDwAndDwDept, newExcelImport } from "@/api/system/comp";
-import { newConfirm, getCompany, queryCompany } from "@/api/team/tuanti";
+import Cookies from "js-cookie"
+import {
+  addDept,
+  addComp,
+  Deptlist,
+  getDwAndDwDept,
+  newExcelImport,
+} from "@/api/system/comp";
+import {
+  newConfirm,
+  getCompany,
+  queryCompany,
+  getconfigKey,
+} from "@/api/team/tuanti";
 import { getToken } from "@/utils/auth";
-import { read, utils } from "xlsx";
 
 export default {
   dicts: [
@@ -180,12 +421,24 @@
     "sys_yes_no",
     "sys_user_sex",
     "reservation_pay_type",
-    "sys_normal_disable"
+    "sys_normal_disable",
   ],
 
   name: "Tijian",
   data() {
+    let checkPhoneNum = (rule, value, callback) => {
+      console.log(value);
+      let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/);
+      if (value == "" && value == undefined && !value) {
+        return callback("");
+      } else if (value != undefined && value != "") {
+        return callback();
+      } else if (!patter.test(value)) {
+        return callback("");
+      }
+    };
     return {
+      uploadKey: 0,
       leftList: "",
       isdisabled: true,
       setDisabled: {
@@ -228,12 +481,13 @@
       data: {
         dwId: "",
         dwDeptId: "",
+        dwName: "",
       },
 
       objs: {
         drugManufacturerId: "",
-        dwDeptName: "",
         reservationTime: "",
+        yxts: "",
       },
       DataList: [],
       tjOrderList: [], //鍗曚釜椤圭洰闆嗗悎
@@ -260,10 +514,11 @@
         // 鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹�
         updateSupport: 0,
         // 璁剧疆涓婁紶鐨勮姹傚ご閮�
-        headers: { Authorization: "Bearer " + getToken() },
+        headers: { Authorization: "Bearer " + getToken(),hospId: Cookies.get("hospId") },
         // 涓婁紶鐨勫湴鍧�
         url:
-          process.env.VUE_APP_BASE_API + "/reservation/reservation/newExcelImport",
+          process.env.VUE_APP_BASE_API +
+          "/reservation/reservation/newExcelImportNotDwDeptId",
       },
       // 鏌ヨ鍙傛暟
       queryParam: {
@@ -292,98 +547,92 @@
       // 琛ㄥ崟鍙傛暟
       form: {},
       // 琛ㄥ崟鏍¢獙
-    
+
       rules: {
         drugManufacturerId: [
-          { required: true, message: "鍗曚綅鍚嶇О涓嶈兘涓虹┖", trigger: "change" },
+          { required: true, validator: checkPhoneNum, trigger: "change" },
         ],
         reservationTime: [
-          { required: true, message: "棰勭害鏃堕棿涓嶈兘涓虹┖", trigger: "blur" },
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
         ],
-        dwDeptName: [
-          { required: true, message: "閮ㄩ棬涓嶈兘涓虹┖", trigger: "change" },
-        ],
+        // dwDeptName: [
+        //   { required: true, validator: checkPhoneNum, trigger: "change" },
+        // ],
         signingPic: [
-          { required: true, message: "棰勭害鏃堕棿涓嶈兘涓虹┖", trigger: "blur" },
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
         ],
         contactPerson: [
-          { required: true, message: "鑱旂郴浜轰笉鑳戒负绌�", trigger: "blur" }
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
         ],
         contactPhone: [
-          { required: true, message: "鑱旂郴鐢佃瘽涓嶈兘涓虹┖", trigger: "blur" }
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
         ],
         taxNumber: [
-          { required: true, message: "绋庡彿涓嶈兘涓虹┖", trigger: "blur" }
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
         ],
         legalPerson: [
-          { required: true, message: "娉曚汉涓嶈兘涓虹┖", trigger: "blur" }
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
         ],
         registerAddress: [
-          { required: true, message: "娉ㄥ唽鍦板潃涓嶈兘涓虹┖", trigger: "blur" }
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
         ],
         bankAccount: [
-          { required: true, message: "寮�鎴烽摱琛屼笉鑳戒负绌�", trigger: "blur" }
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
         ],
         countNum: [
-          { required: true, message: "閾惰璐︽埛涓嶈兘涓虹┖", trigger: "blur" }
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
         ],
         principal: [
-          { required: true, message: "璐熻矗浜轰笉鑳戒负绌�", trigger: "blur" }
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
         ],
         faxNumber: [
-          { required: true, message: "浼犵湡涓嶈兘涓虹┖", trigger: "blur" }
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
         ],
         mailingAddress: [
-          { required: true, message: "浼犵湡涓嶈兘涓虹┖", trigger: "blur" }
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
         ],
-        email: [
-          { required: true, message: "浼犵湡涓嶈兘涓虹┖", trigger: "blur" }
-        ],
+        email: [{ required: true, validator: checkPhoneNum, trigger: "blur" }],
         pacName: [
-          { required: true, message: "濂楅涓嶈兘涓虹┖", trigger: "change" },
+          { required: true, validator: checkPhoneNum, trigger: "change" },
         ],
         payType: [
-          { required: true, message: "缁撶畻鏂瑰紡涓嶈兘涓虹┖", trigger: "change" },
+          { required: true, validator: checkPhoneNum, trigger: "change" },
         ],
         phoe: [
           {
             required: true,
             pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
-            message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜",
+            validator: checkPhoneNum,
             trigger: "blur",
           },
         ],
 
         proPrice: [
-          { required: true, message: "濂楅閲戦涓嶈兘涓虹┖", trigger: "blur" },
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
         ],
         createTime: [
-          { required: true, message: "鎶樻墸鐜囦笉鑳戒负绌�", trigger: "blur" },
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
         ],
-        cnName: [
-          { required: true, message: "涓枃鍚嶇О涓嶈兘涓虹┖", trigger: "blur" },
-        ],
+        cnName: [{ required: true, validator: checkPhoneNum, trigger: "blur" }],
         businessLicenseNumber: [
-          { required: true, message: "缁忚惀璁稿彲璇佸彿涓嶈兘涓虹┖", trigger: "blur" },
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
         ],
         createTime: [
-          { required: true, message: "鍒涘缓鏃堕棿涓嶈兘涓虹┖", trigger: "blur" },
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
         ],
         updateTime: [
-          { required: true, message: "淇敼鏃堕棿涓嶈兘涓虹┖", trigger: "blur" },
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
         ],
         effective: [
           {
             required: true,
-            message: "鏁版嵁鐘舵��(PT10.00.004)涓嶈兘涓虹┖",
+            validator: checkPhoneNum,
             trigger: "change",
           },
         ],
-        name: [
-          { required: true, message: "鑱旂郴浜轰笉鑳戒负绌�", trigger: "change" },
-        ],
+        name: [{ required: true, validator: checkPhoneNum, trigger: "change" }],
         contactPhone: [
-          { required: true, message: "鑱旂郴鐢佃瘽涓嶈兘涓虹┖", trigger: "change" },
+          { required: true, validator: checkPhoneNum, trigger: "change" },
         ],
       },
       ListObj: {},
@@ -406,6 +655,7 @@
       title: "",
       // 鏄惁鏄剧ず寮瑰嚭灞�
       open: false,
+      open1: false,
       // 鏌ヨ鍙傛暟
       queryParams: {
         pageNum: 1,
@@ -430,82 +680,108 @@
     },
   },
   methods: {
+    // 淇濆瓨閮ㄩ棬
+    handleAddDept() {
+      let data = {
+        dwName: this.data.dwName,
+        dwId: this.data.dwId,
+        dwDeptName: this.form.dwDeptName,
+        signingPrice: this.form.signingPrice,
+      };
+      addDept(data).then((response) => {
+        if (response.code == 200) {
+          this.$modal.msgSuccess("鏂板鎴愬姛");
+          this.open1 = false;
+        }
+      });
+    },
     idFn(value) {
+      console.log(value);
       if (value) {
-        this.data.dwId = value
+        this.data.dwId = value;
         Deptlist(value).then((response) => {
           this.deptList = response.data;
         });
       }
-
+    },
+    idFn1(value) {
+      console.log(value);
+      if (value) {
+        this.data.dwId = value;
+        this.CompanyList.forEach((item) => {
+          console.log(item);
+          if (item.drugManufacturerId == this.data.dwId) {
+            this.data.dwName = item.cnName;
+          }
+        });
+      }
     },
     idBm(value) {
-      this.data.dwDeptId = value
+      this.data.dwDeptId = value;
     },
 
     getSummaries(param) {
       const { columns, data } = param;
       const sums = [];
       columns.forEach((column, index) => {
+        // if (index === 0) {
+        //   sums[index] = "鍚堣";
+        //   return;
+        // }
         if (index === 0) {
-          sums[index] = '鍚堣';
+          sums[index] = "鎬昏浜烘暟";
           return;
         }
         if (index === 1) {
-          sums[index] = '鎬昏浜烘暟';
-          return;
-        }
-        if (index === 2) {
           sums[index] = this.ListObj.count;
           return;
         }
-        if (index === 7) {
-          sums[index] = '鐢风粍浜烘暟';
+        if (index === 2) {
+          sums[index] = "鐢风粍浜烘暟";
           return;
         }
-        if (index === 8) {
+        if (index === 3) {
           sums[index] = this.ListObj.manCount;
           return;
         }
-        if (index === 9) {
-          sums[index] = '鐢风粍閲戦';
+        if (index === 4) {
+          sums[index] = "鐢风粍閲戦";
           return;
         }
-        if (index === 10) {
+        if (index === 5) {
           sums[index] = this.ListObj.manMoney;
           return;
         }
-        if (index === 12) {
-          sums[index] = '濂崇粍浜烘暟';
+        if (index === 6) {
+          sums[index] = "濂崇粍浜烘暟";
           return;
         }
-        if (index === 13) {
+        if (index === 7) {
           sums[index] = this.ListObj.woManCount;
           return;
         }
-        if (index === 14) {
-          sums[index] = '濂崇粍閲戦';
+        if (index === 8) {
+          sums[index] = "濂崇粍閲戦";
           return;
         }
-        if (index === 15) {
+        if (index === 9) {
           sums[index] = this.ListObj.woManMoney;
           return;
         }
-        if (index === 16) {
-          sums[index] = '鍚堣閲戦';
+        if (index === 10) {
+          sums[index] = "鍚堣閲戦";
           return;
         }
-        if (index === 17) {
+        if (index === 11) {
           sums[index] = this.ListObj.hjMoney;
           return;
         }
-
-
       });
-      return sums
+      return sums;
     },
     // 鎼滅储
     getRemoteData(query) {
+      
       if (query) {
         let compName = query;
         queryCompany(compName).then((response) => {
@@ -520,6 +796,10 @@
     // 鑾峰彇鍗曚綅淇℃伅闆嗗悎
     getCompanyList() {
       this.loading = true;
+      getconfigKey('team_reservation_default_day').then((res) => {
+        console.log(res, 1111);
+        this.objs.yxts = res.msg;
+      });
       getCompany(this.queryParam).then((response) => {
         this.CompanyList = response.data;
         this.total = response.total;
@@ -529,6 +809,7 @@
     // 鍙栨秷鎸夐挳
     cancel() {
       this.open = false;
+      this.open1 = false;
       this.creaseopen = false;
       this.reset();
     },
@@ -538,7 +819,12 @@
       this.open = true;
       this.title = "娣诲姞浣撴鍗曚綅淇℃伅缁存姢";
     },
-
+    /** 閮ㄩ棬鏂板鎸夐挳鎿嶄綔 */
+    handleAddbumen() {
+      this.reset();
+      this.open1 = true;
+      this.title = "娣诲姞閮ㄩ棬淇℃伅缁存姢";
+    },
 
     /** 鎻愪氦鎸夐挳 */
     submitFormS() {
@@ -561,7 +847,7 @@
         name: null,
         phoe: null,
         signingPic: null,
-        pacStatus: "鍚敤"
+        pacStatus: "鍚敤",
       };
       this.resetForm("form");
     },
@@ -574,6 +860,7 @@
       this.TotalPrice = "";
       this.tableData[0] = [];
       this.TotalPrice1 = "";
+      this.userList = []
       // this.resetForm("form");
       this.form = {};
     },
@@ -582,23 +869,25 @@
     selectTime(val) {
       this.objs.reservationTime = val;
     },
-
     /** 瀵煎叆鎸夐挳鎿嶄綔 */
     handleImport() {
-      if (this.data.dwId || this.data.dwDeptId) {
+      if (this.objs.drugManufacturerId && this.objs.reservationTime) {
+          // 娓呯┖缁勪欢鍐呴儴鐘舵�侊紙鍚凡涓婁紶鏂囦欢锛�
+      this.$refs.upload?.clearFiles();
+      this.uploadKey = Date.now(); // 鏀瑰彉 key 寮哄埗閲嶆柊娓叉煋缁勪欢
+      // 鍚屾鏁版嵁婧愶紙Vue2 闇�鐢� $set 纭繚鍝嶅簲寮忥級
         this.upload.title = "鐢ㄦ埛瀵煎叆";
         this.upload.open = true;
       } else {
-        this.$modal.msgError("璇烽�夋嫨鍗曚綅鎴栭儴闂�")
+        this.$modal.msgError("璇烽�夋嫨鍗曚綅鎴栭绾︽椂闂�");
       }
-
     },
     /** 涓嬭浇妯℃澘鎿嶄綔 */
     importTemplate() {
       this.download(
         "/reservation/reservation/importTemplate",
         {},
-        `user_template_${new Date().getTime()}.xlsx`
+        `鍥綋棰勭害Excel妯$増.xls`
       );
     },
     // 鏂囦欢涓婁紶涓鐞�
@@ -606,34 +895,66 @@
       this.upload.isUploading = true;
     },
     // 鏂囦欢涓婁紶鎴愬姛澶勭悊
+    // 鏂囦欢涓婁紶鎴愬姛澶勭悊
     handleFileSuccess(response, file, fileList) {
-      this.ListObj = response.data
-      this.userList = response.data.list
+      console.log(response, file, fileList)
+      if (response.code == 500) {
+        this.isdisabled = true;
+        // Message.warning(response.msg);
+        // this.$modal.msgError(response.msg);
+        // this.$modal.msgError("浜哄憳"+ response.data.list + "淇℃伅閿欒");
+       
+        // const errorList = response.data.list.join(", ");
+       
+        this.$confirm( `${response.msg}`, {
+          confirmButtonText: "纭畾",
+          cancelButtonText: "鍙栨秷",
+          type: "error",
+          center: true,
+          dangerouslyUseHTMLString: true,
+        });
+      }else{
+        this.isdisabled = false;
+        this.ListObj = response.data;
+      this.userList = response.data.list;
+     
+      this.userList.forEach((item) => {
+        this.CompanyList.forEach((item1) => {
+          if (item1.drugManufacturerId == this.objs.drugManufacturerId) {
+            item.company = item1.cnName;
+          }
+        });
+      });
+      }
+     
       this.upload.open = false;
       this.upload.isUploading = false;
       this.$refs.upload.clearFiles();
       this.leftList = response.msg;
+
       if (this.leftList == "鎿嶄綔澶辫触") {
         this.isdisabled = true;
         this.$alert(
           "<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
-          response.msg +
-          "<div style='br;margin:10px'>" +
-          response.data[0] +
-          "韬唤璇佹垨鎵嬫満鍙风爜鏈夎" +
-          "</div>",
+            response.msg +
+            "<div style='br;margin:10px'>" +
+            response.data[0] +
+            "韬唤璇佹垨鎵嬫満鍙风爜鏈夎" +
+            "</div>",
           "瀵煎叆缁撴灉",
           { dangerouslyUseHTMLString: true }
         );
-      } else {
-        this.isdisabled = false;
-        this.$alert(
-          "<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
-          response.msg,
-          { dangerouslyUseHTMLString: true }
-        );
-        this.rightList = response;
-      }
+      } 
+      // else {
+      //   console.log(11111)
+      //   this.isdisabled = false;
+      //   this.$alert(
+      //     "<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
+      //       response.msg,
+      //     { dangerouslyUseHTMLString: true }
+      //   );
+      //   this.rightList = response;
+      // }
       for (let i = 0; i < fileList.length; i++) {
         if (file.name != fileList[i].name) {
           this.fileList.push({
@@ -656,6 +977,7 @@
     },
     // 鎻愪氦涓婁紶鏂囦欢
     submitFileForm() {
+      console.log(9999)
       this.$refs.upload.submit();
       this.isShow = false;
     },
@@ -694,21 +1016,24 @@
 
     /** 纭鎸夐挳 */
     submitForm() {
-      if (this.objs.reservationTime && this.data.dwDeptId) {
+      // if (this.objs.reservationTime && this.data.dwDeptId) {
+      if (this.objs.reservationTime) {
         let data = {
           copeWith: this.ListObj.hjMoney,
           reservations: this.userList,
           reservationTime: this.objs.reservationTime,
           dwDeptId: this.data.dwDeptId,
+          yxts: this.objs.yxts,
+          dwId: this.data.dwId,
         };
         newConfirm(data).then((res) => {
           this.$modal.msgSuccess("鎻愪氦鎴愬姛");
           this.confirm = true;
+          this.userList = [];
         });
       } else {
         this.$modal.msgError("璇峰~鍐欏甫鏄熷彿鍐呭");
       }
-
     },
   },
 };

--
Gitblit v1.8.0