From 23baa415d3088cfa5dd47d9ee2ab82c308b97f64 Mon Sep 17 00:00:00 2001
From: qx <1084500556@qq.com>
Date: 星期五, 16 五月 2025 17:57:08 +0800
Subject: [PATCH] qx

---
 vue.config.js                          |    2 
 src/views/doctor/examination/index.vue |   38 +
 src/views/hosp/advicerules/index.vue   |  578 ++++++---------------
 src/views/reservation/career/index.vue |  914 +++++++++++++++++++++++++++++++++++
 4 files changed, 1,119 insertions(+), 413 deletions(-)

diff --git a/src/views/doctor/examination/index.vue b/src/views/doctor/examination/index.vue
index 74dac45..9c8635e 100644
--- a/src/views/doctor/examination/index.vue
+++ b/src/views/doctor/examination/index.vue
@@ -408,6 +408,24 @@
         />
       </div>
     </div>
+       <el-dialog :visible.sync="open" width="980px" append-to-body>
+      <el-form ref="form" :model="form" label-width="98px" @submit.native.prevent>
+        <el-form-item label="寮冩鍘熷洜" prop="isZybUnit">
+          <el-radio-group v-model="form.isZybUnit">
+            <el-radio :label="0">鑷姩鏀惧純</el-radio>
+            <el-radio :label="1">濡婂</el-radio>
+            <el-radio :label="1">鎬�瀛�</el-radio>
+            <el-radio :label="1">鍏朵粬</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <br />
+
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitFormqijian">纭� 瀹�</el-button>
+        <el-button @click="cancel">鍙� 娑�</el-button>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -435,6 +453,7 @@
       jieguoList: [],
       jyjc: null,
       dis: false,
+      open: false,
       isLoading:false,
       createTimeList: "",
       currentRow: null,
@@ -806,7 +825,23 @@
         });
       });
     },
-
+   cancel() {
+      this.open = false
+    },
+    submitFormqijian() {
+      this.open = false
+      qijian(tjNUm, proId).then((res) => {
+        if (res.code == 200) {
+          cSWebGetPro(tjNUm).then((res) => {
+            if (res.code === 200) {
+              // 鏇存柊鍙宠竟琛ㄦ牸鐨勬暟鎹�
+              this.xiangmuList = res.data;
+              this.isLoading = false
+            }
+          });
+        }
+      });
+    },
     // 寮冩鎸夐挳
     qijian(row) {
       const tjNUm = this.selectedTjNumber;
@@ -825,6 +860,7 @@
           }
         });
       } else {
+        // this.open = true
         qijian(tjNUm, proId).then((res) => {
           if (res.code == 200) {
             cSWebGetPro(tjNUm).then((res) => {
diff --git a/src/views/hosp/advicerules/index.vue b/src/views/hosp/advicerules/index.vue
index 73feb2a..06722b4 100644
--- a/src/views/hosp/advicerules/index.vue
+++ b/src/views/hosp/advicerules/index.vue
@@ -1,134 +1,79 @@
 <template>
   <div class="app-container">
-    <el-form
-      :model="queryParams"
-      ref="queryForm"
-      size="small"
-      :inline="true"
-      v-show="showSearch"
-      label-width="68px"
-    >
-      <el-form-item label="绉戝" prop="ks">
-        <el-input
-          v-model="queryParams.ks"
-          placeholder="璇疯緭鍏ョ瀹�"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="妫�鏌ラ」鐩�" prop="jcxm">
-        <el-input
-          v-model="queryParams.jcxm"
-          placeholder="璇疯緭鍏ユ鏌ラ」鐩�"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="涓昏璇婃柇" prop="zyzd">
-        <el-input
-          v-model="queryParams.zyzd"
-          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-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:advicerules: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:advicerules: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:advicerules:remove']"
-          >鍒犻櫎
-        </el-button>
-      </el-col>
-      <!--  <el-col :span="1.5">
-        <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-download" size="mini" @click="handleExport"
-          v-hasPermi="['hosp:advicerules:export']">瀵煎嚭
-        </el-button>
-      </el-col> -->
-      <right-toolbar
-        :showSearch.sync="showSearch"
-        @queryTable="getList"
-      ></right-toolbar>
-    </el-row>
 
     <el-row :gutter="20" style="display: flex">
-      <el-col :span="3" :xs="24">
+      <el-col :span="4" :xs="24">
         <div class="head-container">
-          <el-input
-            v-model="xmmc"
-            placeholder="璇疯緭鍏ラ」鐩悕"
-            clearable
-            size="small"
-            prefix-icon="el-icon-search"
-            style="margin-bottom: 20px"
-          />
+          <el-input v-model="xmmc" placeholder="璇疯緭鍏ラ」鐩悕" clearable size="small" prefix-icon="el-icon-search"
+            style="margin-bottom: 18px" />
         </div>
         <div class="scrollable-container">
           <div class="content">
-            <el-tree
-              :data="deptOptions"
-              :props="defaultProps"
-              :expand-on-click-node="false"
-              :filter-node-method="filterNode"
-              ref="tree"
-              node-key="id"
-              :default-expanded-keys="treeId"
-              highlight-current
-              @node-click="handleNodeClick"
-            />
+            <el-tree :data="deptOptions" :props="defaultProps" :expand-on-click-node="false"
+              :filter-node-method="filterNode" ref="tree" node-key="id" :default-expanded-keys="treeId"
+              highlight-current @node-click="handleNodeClick" />
           </div>
         </div>
       </el-col>
-      <el-col :span="20" :xs="24">
-        <el-table
-          v-loading="loading"
-          :data="advicerulesList"
-          @selection-change="handleSelectionChange"
-          height="520"
-        >
+      <el-col :span="19" :xs="24">
+        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
+          label-width="68px">
+          <el-form-item label="绉戝" prop="ks">
+            <el-input v-model="queryParams.ks" placeholder="璇疯緭鍏ョ瀹�" clearable @keyup.enter.native="handleQuery" />
+          </el-form-item>
+          <el-form-item label="妫�鏌ラ」鐩�" prop="jcxm">
+            <el-input v-model="queryParams.jcxm" placeholder="璇疯緭鍏ユ鏌ラ」鐩�" clearable @keyup.enter.native="handleQuery" />
+          </el-form-item>
+          <el-form-item label="涓昏璇婃柇" prop="zyzd">
+            <el-input v-model="queryParams.zyzd" 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-form-item>
+        </el-form>
+
+        <el-row :gutter="10" class="mb8">
+          <el-col :span="1.5">
+            <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
+              v-hasPermi="['hosp:advicerules: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:advicerules: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:advicerules:remove']">鍒犻櫎
+            </el-button>
+          </el-col>
+          <!-- <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-upload2"
+          size="mini"
+          @click="handleImport"
+          >瀵煎叆
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['hosp:advicerules:export']"
+          >瀵煎嚭
+        </el-button>
+      </el-col> -->
+          <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+        </el-row>
+        <el-table v-loading="loading" :data="advicerulesList" @selection-change="handleSelectionChange" height="520">
           <el-table-column type="selection" width="55" align="center" />
           <el-table-column label="搴忓彿" width="50" align="center">
             <template slot-scope="scope">
@@ -139,33 +84,10 @@
           <el-table-column label="缂栫爜" align="center" prop="bm" />
           <el-table-column label="绉戝" align="center" prop="ks" />
           <el-table-column label="妫�鏌ラ」鐩�" align="center" prop="jcxm" />
-          <el-table-column
-            label="涓昏璇婃柇"
-            align="center"
-            :show-overflow-tooltip="true"
-            width="120"
-            prop="zyzd"
-          />
-          <el-table-column
-            label="寤鸿鍚嶇О"
-            align="center"
-            :show-overflow-tooltip="true"
-            width="150"
-            prop="jymc"
-          />
-          <el-table-column
-            label="寤鸿鍐呭"
-            align="center"
-            :show-overflow-tooltip="true"
-            width="200"
-            prop="jynr"
-          />
-          <el-table-column
-            label="鎬у埆"
-            align="center"
-            prop="xb"
-            :formatter="formatSex"
-          />
+          <el-table-column label="涓昏璇婃柇" align="center" :show-overflow-tooltip="true" width="120" prop="zyzd" />
+          <el-table-column label="寤鸿鍚嶇О" align="center" :show-overflow-tooltip="true" width="150" prop="jymc" />
+          <el-table-column label="寤鸿鍐呭" align="center" :show-overflow-tooltip="true" width="200" prop="jynr" />
+          <el-table-column label="鎬у埆" align="center" prop="xb" :formatter="formatSex" />
           <el-table-column label="鑼冨洿" align="center" prop="fwz" />
           <el-table-column label="鑼冨洿鏈�灏忓��" align="center" prop="fwzxz" />
           <el-table-column label="鑼冨洿鏈�澶у��" align="center" prop="fwzdz" />
@@ -176,117 +98,58 @@
           </el-table-column>
           <el-table-column label="鏄惁鎱㈡�х梾" align="center" prop="sfmxb">
           </el-table-column>
-          <el-table-column
-            label="鏄惁閲嶅ぇ鐤剧梾"
-            align="center"
-            width="120"
-            prop="sfzdjb"
-          ></el-table-column>
-          <el-table-column
-            label="鎿嶄綔"
-            align="center"
-            class-name="small-padding fixed-width"
-          >
+          <el-table-column label="鏄惁閲嶅ぇ鐤剧梾" align="center" width="120" prop="sfzdjb"></el-table-column>
+          <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
             <template slot-scope="scope">
-              <el-button
-                size="mini"
-                type="text"
-                icon="el-icon-edit"
-                @click="handleUpdate(scope.row)"
-                v-hasPermi="['hosp:advicerules:edit']"
-              >
+              <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
+                v-hasPermi="['hosp:advicerules:edit']">
               </el-button>
-              <el-button
-                size="mini"
-                type="text"
-                icon="el-icon-delete"
-                @click="handleDelete(scope.row)"
-                v-hasPermi="['hosp:advicerules:remove']"
-              >
+              <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
+                v-hasPermi="['hosp:advicerules:remove']">
               </el-button>
             </template>
           </el-table-column>
         </el-table>
         <div class="pag">
           <div class="pag1">
-            <pagination
-              v-show="total > 0"
-              :total="total"
-              :page.sync="queryParams.pageNum"
-              :limit.sync="queryParams.pageSize"
-              @pagination="getListByXmId"
-            />
+            <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
+              :limit.sync="queryParams.pageSize" @pagination="getListByXmId" />
           </div>
         </div>
       </el-col>
     </el-row>
+    <!-- 
+    <pagination
+      v-show="total > 0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    /> -->
 
     <!-- 娣诲姞鎴栦慨鏀逛綋妫�椤圭洰寤鸿瑙勫垯鏂拌〃瀵硅瘽妗� -->
-    <el-dialog
-      :title="title"
-      :visible.sync="open"
-      width="1000px"
-      append-to-body
-      :close-on-click-modal="false"
-    >
-      <el-form
-        ref="form"
-        :model="form"
-        :rules="rules"
-        label-width="80px"
-        :inline="true"
-      >
+    <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body :close-on-click-modal="false">
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px" :inline="true">
         <el-form-item label="绉戝" prop="ks">
-          <el-select
-            :rules="rules"
-            v-model="form.ks"
-            placeholder="璇烽�夋嫨绉戝"
-            style="width: 200px"
-            @change="idFn"
-          >
-            <el-option
-              v-for="item in departmentOptions"
-              :key="item.id"
-              :label="item.label"
-              :value="item.label"
-            />
+          <el-select v-model="form.ks" allow-create filterable placeholder="璇烽�夋嫨绉戝" style="width: 200px" @change="idFn">
+            <el-option v-for="item in departmentOptions" :key="item.id" :label="item.label" :value="item.label" />
           </el-select>
         </el-form-item>
         <el-form-item label="妫�鏌ラ」鐩�" prop="jcxm">
-          <el-input
-            v-model="form.jcxm"
-            placeholder="璇疯緭鍏ユ鏌ラ」鐩�"
-            style="width: 200px"
-          />
+          <el-input v-model="form.jcxm" placeholder="璇疯緭鍏ユ鏌ラ」鐩�" style="width: 200px" />
         </el-form-item>
         <el-form-item label="涓昏璇婃柇" prop="zyzd">
-          <el-input
-            v-model="form.zyzd"
-            placeholder="璇疯緭鍏ヤ富瑕佽瘖鏂�"
-            style="width: 200px"
-          />
+          <el-input v-model="form.zyzd" placeholder="璇疯緭鍏ヤ富瑕佽瘖鏂�" style="width: 200px" />
         </el-form-item>
 
         <el-form-item label="鑼冨洿" prop="fwz">
-          <el-input
-            v-model="form.fwz"
-            placeholder="璇疯緭鍏ヨ寖鍥�"
-            style="width: 200px"
-          />
+          <el-input v-model="form.fwz" placeholder="璇疯緭鍏ヨ寖鍥�" style="width: 200px" />
         </el-form-item>
         <el-form-item label="鏈�灏忓��" prop="fwzxz">
-          <el-input
-            v-model="form.fwzxz"
-            style="width: 200px"
-            placeholder="璇疯緭鍏ヨ寖鍥存渶灏忓��"
-          />
+          <el-input v-model="form.fwzxz" style="width: 200px" placeholder="璇疯緭鍏ヨ寖鍥存渶灏忓��" />
         </el-form-item>
         <el-form-item label="鏈�澶у��" prop="fwzdz">
-          <el-input
-            v-model="form.fwzdz"
-            style="width: 200px"
-            placeholder="璇疯緭鍏ヨ寖鍥存渶澶у��"
-          />
+          <el-input v-model="form.fwzdz" style="width: 200px" placeholder="璇疯緭鍏ヨ寖鍥存渶澶у��" />
         </el-form-item>
         <el-form-item label="寮傚父鏍囧織" prop="ycbz">
           <!-- <el-input
@@ -294,86 +157,40 @@
             style="width: 200px"
             placeholder="璇疯緭鍏ュ紓甯告爣蹇�"
           /> -->
-          <el-select
-            v-model="form.ycbz"
-            placeholder="璇烽�夋嫨寮傚父鏍囧織"
-            style="width: 200px"
-            clearable
-          >
-            <el-option
-              v-for="item in ycdata"
-              :key="item.value"
-              :label="item.label"
-              :value="item.label"
-            ></el-option>
+          <el-select v-model="form.ycbz" placeholder="璇烽�夋嫨寮傚父鏍囧織" style="width: 200px" clearable>
+            <el-option v-for="item in ycdata" :key="item.value" :label="item.label" :value="item.label"></el-option>
           </el-select>
         </el-form-item>
-
         <el-form-item label="鐤剧梾" prop="sfjb">
           <el-checkbox v-model="form.sfjb" true-label="鏄�" false-label="鍚�">
           </el-checkbox>
         </el-form-item>
         <el-form-item label="甯歌鐥�" prop="sfcjb">
-          <el-checkbox
-            v-model="form.sfcjb"
-            true-label="鏄�"
-            false-label=""
-          ></el-checkbox>
+          <el-checkbox v-model="form.sfcjb" true-label="鏄�" false-label=""></el-checkbox>
         </el-form-item>
         <el-form-item label="鎱㈡�х梾" prop="sfmxb">
-          <el-checkbox
-            v-model="form.sfmxb"
-            true-label="鏄�"
-            false-label=""
-          ></el-checkbox>
+          <el-checkbox v-model="form.sfmxb" true-label="鏄�" false-label=""></el-checkbox>
         </el-form-item>
         <el-form-item label="閲嶅ぇ鐤剧梾" prop="sfzdjb">
-          <el-checkbox
-            v-model="form.sfzdjb"
-            true-label="鏄�"
-            false-label=""
-          ></el-checkbox>
+          <el-checkbox v-model="form.sfzdjb" true-label="鏄�" false-label=""></el-checkbox>
         </el-form-item>
         <el-form-item label="鎬у埆" prop="xb">
-          <el-select
-            v-model="form.xb"
-            placeholder="璇烽�夋嫨浣撴浜烘�у埆"
-            style="width: 200px"
-            clearable
-          >
-            <el-option
-              v-for="dict in dict.type.sys_user_sex"
-              :key="dict.value"
-              :label="dict.label"
-              :value="dict.value"
-            ></el-option>
+          <el-select v-model="form.xb" placeholder="璇烽�夋嫨浣撴浜烘�у埆" style="width: 200px" clearable>
+            <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label"
+              :value="dict.value"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="寤鸿鍚嶇О" prop="jymc" style="display: block">
-          <el-input
-            v-model="form.jymc"
-            placeholder="璇疯緭鍏ュ缓璁悕绉�"
-            style="width: 200px"
-          />
+          <el-input v-model="form.jymc" placeholder="璇疯緭鍏ュ缓璁悕绉�" style="width: 200px" />
         </el-form-item>
 
         <el-form-item label="寤鸿鍐呭" prop="jynr">
-          <span
-            slot="label"
-            style="display: inline-block; border-bottom: 2px solid blue"
-            @click="getDetailed"
-          >
+          <span slot="label" style="display: inline-block; border-bottom: 2px solid blue" @click="getDetailed">
             寤鸿鍐呭
           </span>
 
-          <el-input
-            v-if="key !== 'N'"
-            style="width: 782px"
-            type="textarea"
-            :rows="3"
-            v-model="form.jynr"
-            placeholder="璇疯緭鍏ュ缓璁唴瀹�"
-          >
+          <el-input v-if="key !== 'N'" style="width: 782px" type="textarea" :rows="3" v-model="form.jynr"
+            placeholder="璇疯緭鍏ュ缓璁唴瀹�">
           </el-input>
         </el-form-item>
       </el-form>
@@ -383,25 +200,10 @@
       </div>
     </el-dialog>
 
-    <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" accept=".xlsx, .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">
@@ -426,87 +228,32 @@
     </el-dialog>
 
     <!-- 寤鸿鍐呭鍙婂缓璁悕绉板脊妗� -->
-    <el-dialog
-      title="寤鸿鍐呭"
-      :visible.sync="dialogTableVisible"
-      width="80%"
-      :close-on-click-modal="false"
-      @close="clearForm"
-    >
+    <el-dialog title="寤鸿鍐呭" :visible.sync="dialogTableVisible" width="80%" :close-on-click-modal="false"
+      @close="clearForm">
       <div class="app-container">
-        <el-form
-          :model="form"
-          ref="queryForm"
-          size="small"
-          :inline="true"
-          v-show="showSearch"
-          label-width="68px"
-        >
+        <el-form :model="form" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
           <el-form-item label="鏍囬" prop="title">
-            <el-input
-              v-model="queryParam1.bt"
-              placeholder="璇疯緭鍏ユ爣棰�"
-              clearable
-              @keyup.enter.native="handlecharge"
-            />
+            <el-input v-model="queryParam1.bt" placeholder="璇疯緭鍏ユ爣棰�" clearable @keyup.enter.native="handlecharge" />
           </el-form-item>
           <el-form-item label="寤鸿鍐呭" prop="jynr">
-            <el-input
-              v-model="queryParam1.nr"
-              placeholder="璇疯緭鍏ュ缓璁�"
-              clearable
-              @keyup.enter.native="handlecharge"
-            />
+            <el-input v-model="queryParam1.nr" placeholder="璇疯緭鍏ュ缓璁�" clearable @keyup.enter.native="handlecharge" />
           </el-form-item>
           <el-form-item>
-            <el-button
-              type="primary"
-              icon="el-icon-search"
-              size="mini"
-              @click="handlecharge"
-              >鎼滅储</el-button
-            >
+            <el-button type="primary" icon="el-icon-search" size="mini" @click="handlecharge">鎼滅储</el-button>
           </el-form-item>
         </el-form>
 
-        <el-table
-          v-loading="loading"
-          :data="adviceList"
-          ref="tb"
-          @selection-change="handleSelectionChange1"
-          border
-        >
+        <el-table v-loading="loading" :data="adviceList" ref="tb" @selection-change="handleSelectionChange1" border>
           <el-table-column type="selection" align="center" fixed />
-          <el-table-column
-            label="搴忓彿"
-            align="center"
-            width="60"
-            prop="newID"
-          />
-          <el-table-column
-            label="鏍囬"
-            align="center"
-            prop="title"
-            width="120"
-            :show-overflow-tooltip="true"
-          />
-          <el-table-column
-            label="寤鸿"
-            align="center"
-            prop="advice"
-            :show-overflow-tooltip="true"
-          />
+          <el-table-column label="搴忓彿" align="center" width="60" prop="newID" />
+          <el-table-column label="鏍囬" align="center" prop="title" width="120" :show-overflow-tooltip="true" />
+          <el-table-column label="寤鸿" align="center" prop="advice" :show-overflow-tooltip="true" />
         </el-table>
 
         <div class="pag">
           <div class="pag1">
-            <pagination
-              v-show="total > 0"
-              :total="total"
-              :page.sync="queryParam1.page"
-              :limit.sync="queryParam1.pageSize"
-              @pagination="getlistJynr"
-            />
+            <pagination v-show="total > 0" :total="total" :page.sync="queryParam1.page"
+              :limit.sync="queryParam1.pageSize" @pagination="getlistJynr" />
           </div>
         </div>
       </div>
@@ -572,10 +319,10 @@
       treeId: [],
       // 寮瑰嚭灞傛爣棰�
       title: "",
-      xmmc: "",
       // 鏄惁鏄剧ず寮瑰嚭灞�
       open: false,
       key: "",
+      xmmc: "",
       moduleName: "exampleModule", // 绀轰緥妯″潡鍚�
       businessName: "exampleBusiness", // 绀轰緥涓氬姟鍚�
       objs: {},
@@ -598,7 +345,6 @@
         sfcjb: null,
         sfmxb: null,
         sfzdjb: null,
-        sfzdjb: null,
       },
       queryParam1: {
         page: 1,
@@ -612,7 +358,7 @@
       },
       // 琛ㄥ崟鍙傛暟
       form: {
-        // xb: "2",
+        xb: "2",
       },
       // 琛ㄥ崟鏍¢獙
       rules: {
@@ -661,12 +407,12 @@
   methods: {
     /** 鏌ヨ浣撴椤圭洰寤鸿瑙勫垯鏂拌〃鍒楄〃 */
     getList() {
-      /* this.loading = true;
-      listAdvicerules(this.queryParams).then((response) => {
-        this.advicerulesList = response.rows;
-        this.total = response.total;
-        this.loading = false;
-      }); */
+      // this.loading = true;
+      // listAdvicerules(this.queryParams).then((response) => {
+      //   this.advicerulesList = response.rows;
+      //   this.total = response.total;
+      //   this.loading = false;
+      // });
       getTjProAdvicerulesKsList().then((response) => {
         this.deptOptions = response.data.map((name, index) => {
           return {
@@ -681,6 +427,13 @@
         this.getListByXmId();
       });
     },
+
+    handleNodeClick(data) {
+      this.formIn = data;
+      this.queryParams.ks = data.label;
+      this.getListByXmId();
+    },
+
     getListByXmId() {
       this.loading = true;
       listAdvicerules(this.queryParams).then((response) => {
@@ -694,11 +447,6 @@
         this.total = response.total;
         this.loading = false;
       });
-    },
-    handleNodeClick(data) {
-      this.formIn = data;
-      this.queryParams.ks = data.label;
-      this.getListByXmId();
     },
 
     // 绛涢�夎妭鐐�
@@ -719,11 +467,26 @@
           this.form.ks = item.label;
         }
       });
+
+
+      // 濡傛灉杈撳叆鐨勫�间笉鍦ㄩ�夐」涓紝鑷姩娣诲姞鍒板垪琛�
+      if (!this.departmentOptions.some(item => item.value === value)) {
+        this.departmentOptions.push({
+          value: value,
+          label: value
+        });
+      }
     },
     // 鍙栨秷鎸夐挳
     cancel() {
       this.open = false;
       this.reset();
+    },
+    formatSex(row) {
+      const dictItem = this.dict.type.sys_user_sex.find(
+        (item) => item.value === row.xb
+      );
+      return dictItem ? dictItem.label : "";
     },
     // 琛ㄥ崟閲嶇疆
     reset() {
@@ -748,11 +511,9 @@
         createBy: null,
         updateBy: null,
         deleted: null,
-        // xb: "2",
+        xb: "2",
       };
-      if (this.$refs.form) {
-        this.$refs.form.resetFields();
-      }
+      this.resetForm("form");
     },
     /** 鎼滅储鎸夐挳鎿嶄綔 */
     handleQuery() {
@@ -766,13 +527,6 @@
     clearForm() {
       this.queryParam.bt = ""; // 娓呯┖鏍囬
       this.queryParam.nr = ""; // 娓呯┖寤鸿鍐呭
-    },
-
-    formatSex(row) {
-      const dictItem = this.dict.type.sys_user_sex.find(
-        (item) => item.value === row.xb
-      );
-      return dictItem ? dictItem.label : "";
     },
 
     handleSelectionChange1(selection) {
@@ -848,7 +602,6 @@
         this.open = true;
         this.title = "淇敼浣撴椤圭洰寤鸿瑙勫垯鏂拌〃";
       });
-
       deptTreeSelect().then((response) => {
         this.departmentOptions = response.data[0].children;
       });
@@ -860,6 +613,8 @@
           this.form.xb = this.form.xb === "1" ? "1" : null;
           if (this.form.id != null) {
             updateAdvicerules(this.form).then((response) => {
+              console.log(response, 1111333);
+
               this.$modal.msgSuccess("淇敼鎴愬姛");
               this.open = false;
               this.getList();
@@ -902,7 +657,6 @@
     handleFileSuccess(response, file, fileList) {
       console.log(response, 666666);
       if (response.code == 500) {
-        console.log(22222222222);
         const errorList = response.data.list.join(", ");
         this.$confirm(`${errorList}`, "浠ヤ笅浜哄憳淇℃伅鏈夎锛岃鏍稿鍚庡鍏ワ細", {
           confirmButtonText: "纭畾",
@@ -947,7 +701,18 @@
   },
 };
 </script>
+
 <style scoped>
+
+.pag {
+  width: 100%;
+  display: flex;
+  justify-content: center;
+}
+
+.pag1 {
+  width: 60%;
+}
 .scrollable-container {
   width: 200px;
   height: 520px;
@@ -962,13 +727,4 @@
   height: 1000px;
   /* 璁剧疆鍐呭鐨勯珮搴︼紝浠ヨЕ鍙戝瀭鐩存粴鍔ㄦ潯 */
 }
-.pag {
-  width: 100%;
-  display: flex;
-  justify-content: center;
-}
-
-.pag1 {
-  width: 65%;
-}
-</style>
+</style>
\ No newline at end of file
diff --git a/src/views/reservation/career/index.vue b/src/views/reservation/career/index.vue
new file mode 100644
index 0000000..366c8b2
--- /dev/null
+++ b/src/views/reservation/career/index.vue
@@ -0,0 +1,914 @@
+<template>
+  <div class="app-container">
+    <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>
+        <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-select>
+        <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: 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-col :span="1.5">
+        <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-col>
+      <el-col :span="1.5">
+        <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>
+        <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" />
+          </template>
+        </el-table-column>
+        <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="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="tjCategory" /> -->
+        <el-table-column label="鍒嗙粍" align="center" prop="groupingName" />
+        <el-table-column label="鎵�鍦ㄥ湴" align="center" prop="szd" />
+        <el-table-column label="椤圭洰鏀惰垂" align="center" prop="ysPrice" />
+      </el-table>
+    </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>
+        <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">
+            <el-checkbox v-model="upload.updateSupport" />
+            鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹�
+          </div> -->
+          <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 @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-form-item label="鍗曚綅鍚嶇О" prop="cnName">
+            <el-input v-model="form.cnName" placeholder="璇疯緭鍏ヤ腑鏂囧悕绉�" />
+          </el-form-item>
+          <el-form-item label="鑱旂郴浜�" prop="contactPerson">
+            <el-input v-model="form.contactPerson" placeholder="璇疯緭鍏ヨ仈绯讳汉" />
+          </el-form-item>
+          <el-form-item label="鑱旂郴鐢佃瘽" prop="contactPhone">
+            <el-input v-model="form.contactPhone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" />
+          </el-form-item>
+          <el-form-item label="绋庡彿" prop="taxNumber">
+            <el-input v-model="form.taxNumber" placeholder="璇疯緭鍏ョ◣鍙�" />
+          </el-form-item>
+          <el-form-item label="娉曚汉" prop="legalPerson">
+            <el-input v-model="form.legalPerson" placeholder="璇疯緭鍏ユ硶浜�" />
+          </el-form-item>
+          <el-form-item label="娉ㄥ唽鍦板潃" prop="registerAddress">
+            <el-input v-model="form.registerAddress" placeholder="璇疯緭鍏ユ敞鍐屽湴鍧�" />
+          </el-form-item>
+          <el-form-item label="閫氳鍦板潃" prop="mailingAddress">
+            <el-input v-model="form.mailingAddress" placeholder="璇疯緭鍏ラ�氳鍦板潃" />
+          </el-form-item>
+          <el-form-item label="寮�鎴烽摱琛�" prop="bankAccount">
+            <el-input v-model="form.bankAccount" placeholder="璇疯緭鍏ュ紑鎴烽摱琛�" />
+          </el-form-item>
+          <el-form-item label="閾惰璐︽埛" prop="countNum">
+            <el-input v-model="form.countNum" placeholder="璇疯緭鍏ラ摱琛岃处鎴�" />
+          </el-form-item>
+          <el-form-item label="閭" prop="email">
+            <el-input v-model="form.email" placeholder="璇疯緭鍏ラ偖绠�" />
+          </el-form-item>
+          <el-form-item label="璐熻矗浜�" prop="principal">
+            <el-input v-model="form.principal" placeholder="璇疯緭鍏ヨ礋璐d汉" />
+          </el-form-item>
+          <el-form-item label="缃戝潃" prop="url">
+            <el-input v-model="form.url" placeholder="璇疯緭鍏ョ綉鍧�" />
+          </el-form-item>
+          <el-form-item label="浼犵湡" prop="faxNumber">
+            <el-input v-model="form.faxNumber" placeholder="璇疯緭鍏ヤ紶鐪�" />
+          </el-form-item>
+          <el-form-item label="琛屾斂鍖哄垝鍚嶇О" prop="areaName">
+            <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-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-form-item>
+        </el-form>
+        <div slot="footer" class="dialog-footer2">
+          <el-button type="primary" @click="submitFormS">纭� 瀹�</el-button>
+          <el-button @click="cancel">鍙� 娑�</el-button>
+        </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 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";
+
+export default {
+  dicts: [
+    "dict_user_national",
+    "dict_user_marry",
+    "sys_yes_no",
+    "sys_user_sex",
+    "reservation_pay_type",
+    "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 {
+
+      leftList: "",
+      isdisabled: true,
+      setDisabled: {
+        // 杩斿洖绂佺敤鏃堕棿
+        disabledDate(time) {
+          // return time.getTime() < Date.now()// 涓嶅彲閫夊巻鍙插ぉ銆佷笉鍙�夊綋鍓嶅ぉ銆佸彲閫夋湭鏉ュぉ
+          return time.getTime() < Date.now() - 8.64e7; // 涓嶅彲閫夊巻鍙插ぉ銆佸彲閫夊綋鍓嶅ぉ銆佸彲閫夋湭鏉ュぉ
+        },
+      },
+      CompanyList: [],
+      reservationList: [],
+      rightList: [],
+      isShow: true,
+      isShows: true,
+      message: "鏄剧ず",
+      fileList: [], //涓婁紶鏂囦欢鍒楄〃
+      tableHead: [], //琛ㄥご
+      tableData: [], // 琛ㄦ暟鎹�
+      form: {
+        company: "",
+        payType: "",
+        name: "",
+        phoe: "",
+        signingPic: "",
+        discount: "",
+      },
+      formLabelWidth: "120px",
+      imageUrl: "",
+      size: "",
+      tcShow: false,
+      creaseopen: false,
+      // 濂楅鎻愪氦鎸夐挳
+      confirm: false,
+      TotalPrice: 0,
+      TotalPrice1: 0,
+      discount: 100,
+      deptList: [],
+      groupingList: [],
+      tableList: [],
+      data: {
+        dwId: "",
+        dwDeptId: "",
+        dwName: "",
+
+      },
+
+      objs: {
+        drugManufacturerId: "",
+        reservationTime: "",
+        yxts: "",
+      },
+      DataList: [],
+      tjOrderList: [], //鍗曚釜椤圭洰闆嗗悎
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      Seachopen: false,
+      dialogVisible: false,
+      notification: false,
+      // 鐢ㄦ埛琛ㄦ牸鏁版嵁
+      userList: null,
+      // 鐢ㄦ埛瀵煎叆鍙傛暟
+      upload: {
+        // 鏄惁鏄剧ず寮瑰嚭灞傦紙鐢ㄦ埛瀵煎叆锛�
+        open: false,
+        // 寮瑰嚭灞傛爣棰橈紙鐢ㄦ埛瀵煎叆锛�
+        title: "",
+        // 鏄惁绂佺敤涓婁紶
+        isUploading: false,
+        // 鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹�
+        updateSupport: 0,
+        // 璁剧疆涓婁紶鐨勮姹傚ご閮�
+        headers: { Authorization: "Bearer " + getToken(), hospId: Cookies.get("hospId") },
+        // 涓婁紶鐨勫湴鍧�
+        url:
+          process.env.VUE_APP_BASE_API +
+          "/reservation/reservation/newExcelImportNotDwDeptId",
+      },
+      // 鏌ヨ鍙傛暟
+      queryParam: {
+        pageNum: 1,
+        pageSize: 10,
+        company: undefined,
+        companyId: undefined,
+        pacName: undefined,
+        jobNo: undefined,
+        name: undefined,
+        sex: undefined,
+        idCard: undefined,
+        age: undefined,
+        birthday: undefined,
+        position: undefined,
+        department: undefined,
+        departmentId: undefined,
+        phoe: undefined,
+        address: undefined,
+        marriage: undefined,
+        nation: undefined,
+        email: undefined,
+        tjCategory: undefined,
+        payType: undefined,
+      },
+      // 琛ㄥ崟鍙傛暟
+      form: {},
+      // 琛ㄥ崟鏍¢獙
+
+      rules: {
+        drugManufacturerId: [
+          { required: true, validator: checkPhoneNum, trigger: "change" },
+        ],
+        reservationTime: [
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
+        ],
+        // dwDeptName: [
+        //   { required: true, validator: checkPhoneNum, trigger: "change" },
+        // ],
+        signingPic: [
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
+        ],
+        contactPerson: [
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
+        ],
+        contactPhone: [
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
+        ],
+        taxNumber: [
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
+        ],
+        legalPerson: [
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
+        ],
+        registerAddress: [
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
+        ],
+        bankAccount: [
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
+        ],
+        countNum: [
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
+        ],
+        principal: [
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
+        ],
+        faxNumber: [
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
+        ],
+        mailingAddress: [
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
+        ],
+        email: [{ required: true, validator: checkPhoneNum, trigger: "blur" }],
+        pacName: [
+          { required: true, validator: checkPhoneNum, trigger: "change" },
+        ],
+        payType: [
+          { required: true, validator: checkPhoneNum, trigger: "change" },
+        ],
+        phoe: [
+          {
+            required: true,
+            pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
+            validator: checkPhoneNum,
+            trigger: "blur",
+          },
+        ],
+
+        proPrice: [
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
+        ],
+        createTime: [
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
+        ],
+        cnName: [{ required: true, validator: checkPhoneNum, trigger: "blur" }],
+        businessLicenseNumber: [
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
+        ],
+        createTime: [
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
+        ],
+        updateTime: [
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
+        ],
+        effective: [
+          {
+            required: true,
+            validator: checkPhoneNum,
+            trigger: "change",
+          },
+        ],
+        name: [{ required: true, validator: checkPhoneNum, trigger: "change" }],
+        contactPhone: [
+          { required: true, validator: checkPhoneNum, trigger: "change" },
+        ],
+      },
+      ListObj: {},
+      uploadKey: 0,
+      // 閬僵灞�
+      loading: true,
+      pacStatus: "鍚敤",
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 浣撴鍗曚綅淇℃伅缁存姢琛ㄦ牸鏁版嵁
+      compList: [],
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      open1: false,
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        cnName: null,
+        enName: null,
+        code: null,
+      },
+    };
+  },
+  created() {
+    this.getCompanyList();
+  },
+
+  watch: {
+    inputVal(newValue) {
+      if (newValue) {
+        this.searchData(true);
+      } else {
+        this.searchData(false);
+      }
+    },
+  },
+  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) {
+      this.userList = []
+      if (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;
+    },
+
+    getSummaries(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        // if (index === 0) {
+        //   sums[index] = "鍚堣";
+        //   return;
+        // }
+        if (index === 0) {
+          sums[index] = "鎬昏浜烘暟";
+          return;
+        }
+        if (index === 1) {
+          sums[index] = this.ListObj.count;
+          return;
+        }
+        if (index === 2) {
+          sums[index] = "鐢风粍浜烘暟";
+          return;
+        }
+        if (index === 3) {
+          sums[index] = this.ListObj.manCount;
+          return;
+        }
+        if (index === 4) {
+          sums[index] = "鐢风粍閲戦";
+          return;
+        }
+        if (index === 5) {
+          sums[index] = this.ListObj.manMoney;
+          return;
+        }
+        if (index === 6) {
+          sums[index] = "濂崇粍浜烘暟";
+          return;
+        }
+        if (index === 7) {
+          sums[index] = this.ListObj.woManCount;
+          return;
+        }
+        if (index === 8) {
+          sums[index] = "濂崇粍閲戦";
+          return;
+        }
+        if (index === 9) {
+          sums[index] = this.ListObj.woManMoney;
+          return;
+        }
+        if (index === 10) {
+          sums[index] = "鍚堣閲戦";
+          return;
+        }
+        if (index === 11) {
+          sums[index] = this.ListObj.hjMoney;
+          return;
+        }
+      });
+      return sums;
+    },
+    // 鎼滅储
+    getRemoteData(query) {
+
+      if (query) {
+        let compName = query;
+        queryCompany(compName).then((response) => {
+          this.CompanyList = response.data;
+          this.CompanyList.forEach((item) => {
+            this.objs = item;
+          });
+        });
+      }
+    },
+
+    // 鑾峰彇鍗曚綅淇℃伅闆嗗悎
+    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;
+        this.loading = false;
+      });
+    },
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.open = false;
+      this.open1 = false;
+      this.creaseopen = false;
+      this.reset();
+    },
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "娣诲姞浣撴鍗曚綅淇℃伅缁存姢";
+    },
+    /** 閮ㄩ棬鏂板鎸夐挳鎿嶄綔 */
+    handleAddbumen() {
+      this.reset();
+      this.open1 = true;
+      this.title = "娣诲姞閮ㄩ棬淇℃伅缁存姢";
+    },
+
+    /** 鎻愪氦鎸夐挳 */
+    submitFormS() {
+      this.$refs["form"].validate((valid) => {
+        if (valid) {
+          addComp(this.form).then((response) => {
+            this.$modal.msgSuccess("鏂板鎴愬姛");
+            this.open = false;
+            this.getCompanyList();
+          });
+        }
+      });
+    },
+
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        company: null,
+        payType: null,
+        name: null,
+        phoe: null,
+        signingPic: null,
+        pacStatus: "鍚敤",
+      };
+      this.resetForm("form");
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.date = [];
+      this.objs.drugManufacturerId = "";
+      this.objs.dwDeptName = "";
+      this.objs.reservationTime = "";
+      this.TotalPrice = "";
+      this.tableData[0] = [];
+      this.TotalPrice1 = "";
+      this.userList = []
+      // this.resetForm("form");
+      this.form = {};
+    },
+
+    //鑾峰彇鏃堕棿
+    selectTime(val) {
+      this.objs.reservationTime = val;
+    },
+    /** 瀵煎叆鎸夐挳鎿嶄綔 */
+    handleImport() {
+      if (this.objs.drugManufacturerId && this.objs.reservationTime) {
+        this.$refs.upload?.clearFiles();
+        this.uploadKey = Date.now(); // 鏀瑰彉 key 寮哄埗閲嶆柊娓叉煋缁勪欢
+        this.upload.title = "鐢ㄦ埛瀵煎叆";
+        this.upload.open = true;
+      } else {
+        this.$modal.msgError("璇烽�夋嫨鍗曚綅鎴栭绾︽椂闂�");
+      }
+    },
+    /** 涓嬭浇妯℃澘鎿嶄綔 */
+    importTemplate() {
+      this.download(
+        "/reservation/reservation/importTemplate",
+        {},
+        `鑱屼笟鍥綋棰勭害Excel妯$増.xls`
+      );
+    },
+    // 鏂囦欢涓婁紶涓鐞�
+    handleFileUploadProgress(event, file, fileList) {
+      this.upload.isUploading = true;
+    },
+    // 鏂囦欢涓婁紶鎴愬姛澶勭悊
+    handleFileSuccess(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 + "淇℃伅閿欒");
+        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.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>",
+          "瀵煎叆缁撴灉",
+          { dangerouslyUseHTMLString: true }
+        );
+      }
+      // 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({
+            name: file.name,
+            url: "",
+            uid: file.uid,
+          });
+        }
+      }
+      //  let data = {
+      //   dwDeptId: this.deptId,
+      //   dwId: this.dwId,
+      //   file:file
+      // }
+      // newExcelImport(data).then(response => {
+      //   console.log(11111)
+      // })
+      const files = { 0: file };
+      // this.readExcel(files);
+    },
+    // 鎻愪氦涓婁紶鏂囦欢
+    submitFileForm() {
+      this.$refs.upload.submit();
+      this.isShow = false;
+    },
+
+    // readExcel(file) {
+    //   const fileReader = new FileReader();
+    //   fileReader.onload = (ev) => {
+    //     try {
+    //       const data = ev.target.result;
+    //       const workbook = read(data, { type: "binary" });
+    //       const params = [];
+    //       // 鍙栧搴旇〃鐢熸垚json琛ㄦ牸鍐呭
+    //       workbook.SheetNames.forEach((item) => {
+    //         params.push({
+    //           name: item,
+    //           dataList: utils.sheet_to_json(workbook.Sheets[item]),
+    //         });
+    //         this.tableData.push(utils.sheet_to_json(workbook.Sheets[item]));
+    //       });
+    //       // 璇ョ畻娉曚粎閽堝琛ㄥご鏃犲悎骞剁殑鎯呭喌
+    //       if (this.tableData.length > 0) {
+    //         // 鑾峰彇excel涓涓�涓〃鏍兼暟鎹畉ableData[0][0]锛屽苟涓斿皢琛ㄥご鎻愬彇鍑烘潵
+    //         for (const key in this.tableData[0][0]) {
+    //           this.tableHead.push(key);
+    //         }
+    //       }
+    //       return params;
+    //       // 閲嶅啓鏁版嵁
+    //     } catch (e) {
+    //       console.log("error:" + e);
+    //       return false;
+    //     }
+    //   };
+    //   fileReader.readAsBinaryString(file[0].raw);
+    // },
+
+    /** 纭鎸夐挳 */
+    submitForm() {
+      // 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("璇峰~鍐欏甫鏄熷彿鍐呭");
+      }
+    },
+  },
+};
+</script>
+
+
+<style>
+.el-dialog:not(.is-fullscreen) {
+  margin-top: 6vh !important;
+  width: 600px;
+}
+
+/* .el-table td.el-table__cell div {
+  -webkit-box-sizing: border-box;
+  box-sizing: border-box;
+  display: flex;
+  flex-wrap: wrap;
+  font-size: 14px;
+} */
+
+.upload-demo {
+  width: 100%;
+}
+
+.el-icon-circle-plus-outline {
+  line-height: 20px;
+  font-size: 20px;
+}
+
+.dia {
+  display: flex;
+}
+
+.dialog-footer2 {
+  width: 960px;
+  height: 36px;
+  display: flex;
+  justify-content: center;
+}
+
+.dialog-footer1 {
+  width: 860px;
+  height: 36px;
+  display: flex;
+  justify-content: center;
+}
+</style>
\ No newline at end of file
diff --git a/vue.config.js b/vue.config.js
index 09ea48f..ae33049 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -54,7 +54,7 @@
       [process.env.VUE_APP_BASE_API]: {
         // target: `https://ltpeis.xaltjdkj.cn:5801/`,
         // target: `http://192.168.1.99:5012`,
-        target: `http://192.168.1.2:5011`,
+        target: `http://192.168.1.113:5011`,
         // // target: `http://192.168.0.99:8080/ltkj-admin`,
         // target: `https://ltpeis.xaltjdkj.cn:5011/ltkj-admin`,
         // target: `http://10.168.0.9:5011`,

--
Gitblit v1.8.0