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

---
 src/views/reservation/resercopy/index.vue |  370 ++++++++++++++--------------------------------------
 1 files changed, 100 insertions(+), 270 deletions(-)

diff --git a/src/views/reservation/resercopy/index.vue b/src/views/reservation/resercopy/index.vue
index 388739b..7516cf2 100644
--- a/src/views/reservation/resercopy/index.vue
+++ b/src/views/reservation/resercopy/index.vue
@@ -1,31 +1,11 @@
 <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>
@@ -52,143 +32,61 @@
         </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: 130px"
-          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-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-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"
-          >瀵煎叆</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"
-          icon="el-icon-upload2"
-          size="mini"
-          @click="importTemplate"
-          >涓嬭浇妯℃澘</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-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 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 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="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="phoe" width="140" />
         <el-table-column label="鍦板潃" align="center" prop="address" />
-        <el-table-column
-          label="濠氬Щ鐘跺喌"
-          align="center"
-          prop="marriage"
-          key="marriage"
-        >
+        <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"
-            />
+            <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"
-            />
+            <dict-tag :options="dict.type.dict_user_national" :value="scope.row.nation" />
           </template>
         </el-table-column>
         <!-- <el-table-column label="鑱旂郴閭" align="center" prop="email" /> -->
@@ -199,26 +97,10 @@
     </div>
 
     <!-- 鐢ㄦ埛瀵煎叆瀵硅瘽妗� -->
-    <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
-      >
+    <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">
@@ -227,13 +109,8 @@
             鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹�
           </div>
           <span>浠呭厑璁稿鍏ls鏍煎紡鏂囦欢銆�</span>
-          <el-link
-            type="primary"
-            :underline="false"
-            style="font-size: 12px; vertical-align: baseline"
-            @click="importTemplate"
-            >涓嬭浇妯℃澘</el-link
-          >
+          <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">
@@ -244,19 +121,8 @@
 
     <!-- 娣诲姞鎴栦慨鏀逛綋妫�鍗曚綅淇℃伅缁存姢瀵硅瘽妗� -->
     <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>
@@ -264,10 +130,7 @@
             <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="璇疯緭鍏ョ◣鍙�" />
@@ -276,16 +139,10 @@
             <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="璇疯緭鍏ュ紑鎴烽摱琛�" />
@@ -306,34 +163,18 @@
             <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">
@@ -345,47 +186,20 @@
 
     <!-- 娣诲姞鎴栦慨鏀归儴闂ㄤ俊鎭淮鎶ゅ璇濇 -->
     <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-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 :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-input v-model="form.signingPrice" placeholder="璇疯緭鍏ョ绾﹂噾棰�" />
           </el-form-item>
         </el-form>
         <div slot="footer" class="dialog-footer2">
@@ -514,7 +328,7 @@
         // 鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹�
         updateSupport: 0,
         // 璁剧疆涓婁紶鐨勮姹傚ご閮�
-        headers: { Authorization: "Bearer " + getToken(),hospId: Cookies.get("hospId") },
+        headers: { Authorization: "Bearer " + getToken(), hospId: Cookies.get("hospId") },
         // 涓婁紶鐨勫湴鍧�
         url:
           process.env.VUE_APP_BASE_API +
@@ -781,7 +595,7 @@
     },
     // 鎼滅储
     getRemoteData(query) {
-      
+
       if (query) {
         let compName = query;
         queryCompany(compName).then((response) => {
@@ -872,10 +686,10 @@
     /** 瀵煎叆鎸夐挳鎿嶄綔 */
     handleImport() {
       if (this.objs.drugManufacturerId && this.objs.reservationTime) {
-          // 娓呯┖缁勪欢鍐呴儴鐘舵�侊紙鍚凡涓婁紶鏂囦欢锛�
-      this.$refs.upload?.clearFiles();
-      this.uploadKey = Date.now(); // 鏀瑰彉 key 寮哄埗閲嶆柊娓叉煋缁勪欢
-      // 鍚屾鏁版嵁婧愶紙Vue2 闇�鐢� $set 纭繚鍝嶅簲寮忥級
+        // 娓呯┖缁勪欢鍐呴儴鐘舵�侊紙鍚凡涓婁紶鏂囦欢锛�
+        this.$refs.upload?.clearFiles();
+        this.uploadKey = Date.now(); // 鏀瑰彉 key 寮哄埗閲嶆柊娓叉煋缁勪欢
+        // 鍚屾鏁版嵁婧愶紙Vue2 闇�鐢� $set 纭繚鍝嶅簲寮忥級
         this.upload.title = "鐢ㄦ埛瀵煎叆";
         this.upload.open = true;
       } else {
@@ -903,30 +717,48 @@
         // 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{
+
+        if (response.data) {
+          if (response.data.list) {
+            const errorList = `
+  <div style="max-height: 300px; overflow-y: auto;">
+    ${response.data.list.join(", ")}
+  </div>`
+
+            this.$confirm(errorList, `${response.msg}`, {
+              confirmButtonText: "纭畾",
+              cancelButtonText: "鍙栨秷",
+              type: "error",
+              center: true,
+              dangerouslyUseHTMLString: true,
+            });
+          }
+
+        } else {
+          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.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();
@@ -936,15 +768,15 @@
         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 {
       //   console.log(11111)
       //   this.isdisabled = false;
@@ -1080,6 +912,4 @@
   display: flex;
   justify-content: center;
 }
-</style>
-
-  
\ No newline at end of file
+</style>
\ No newline at end of file

--
Gitblit v1.8.0