From 5f6e994d3ce5f47e8b5dd95bbdfb8aef3e321cb0 Mon Sep 17 00:00:00 2001
From: qx <1084500556@qq.com>
Date: 星期三, 16 七月 2025 15:07:36 +0800
Subject: [PATCH] Merge branch 'master' of http://101.42.27.146:5001/r/ltkj_peisweb_region

---
 src/views/system/tijian/index.vue        |  288 ++--
 src/views/doctor/checkAll/index.vue      |   22 
 src/views/hosp/order/index.vue           |    6 
 src/components/proposal/index.vue        |   14 
 src/views/doctor/checkAll/index copy.vue | 2711 ++++++++++++++++++++++++++++++++++++++++++++++
 public/yuanqu.ini                        |   29 
 src/views/login copy.vue                 |  392 ++++++
 7 files changed, 3,310 insertions(+), 152 deletions(-)

diff --git a/public/yuanqu.ini b/public/yuanqu.ini
new file mode 100644
index 0000000..63f25b6
--- /dev/null
+++ b/public/yuanqu.ini
@@ -0,0 +1,29 @@
+[development]
+8094=pbkwyy
+81=jdczgzyy
+8095=jdczgzyy
+8096=sqyy
+8097=wbzxyy
+8098=bjxjyy
+8099=bjfhyy
+8100=ssyjyy
+8101=bjsqyy
+
+[staging]
+9013=pbkwyy
+9014=jdczgzyy
+9015=sqyy
+9016=wbzxyy
+9017=bjxjyy
+9018=ssyjyy
+9019=bjsqyy
+
+[production]
+8094=pbkwyy
+8095=jdczgzyy
+8096=sqyy
+8097=wbzxyy
+8098=bjxjyy
+8099=bjfhyy
+8100=ssyjyy
+8101=bjsqyy
\ No newline at end of file
diff --git a/src/components/proposal/index.vue b/src/components/proposal/index.vue
index 58d3474..d8aac1c 100644
--- a/src/components/proposal/index.vue
+++ b/src/components/proposal/index.vue
@@ -19,8 +19,8 @@
       <el-form inline @submit.native.prevent="search">
         <el-form-item>
           <el-radio-group v-model="tjproposal" @input="radiotjproposalChange">
-            <el-radio-button label="0">甯哥敤寤鸿</el-radio-button>
-            <el-radio-button label="1">蹇嵎寤鸿</el-radio-button>
+            <el-radio-button label="0">蹇嵎寤鸿</el-radio-button>
+            <el-radio-button label="1">甯哥敤寤鸿</el-radio-button>
           </el-radio-group>
         </el-form-item>
         <el-form-item v-show="tjproposal == 0">
@@ -171,6 +171,10 @@
       this.tjproposal = "0";
       this.getList();
     },
+     mrjy(val) {
+     const mode = val === "Y" ? "1" : "0";
+     this.setTjProposal(mode);
+    },
   },
   mounted() {
     // this.getList()
@@ -182,6 +186,12 @@
     // }
   },
   methods: {
+    setTjProposal(mode) {
+      if (this.tjproposal !== mode) {
+        this.tjproposal = mode;
+        this.radiotjproposalChange(mode); // 鎵ц鍒囨崲閫昏緫
+      }
+    },
     getAllList() {
       this.loading = true;
       this.openone = true;
diff --git a/src/views/doctor/checkAll/index copy.vue b/src/views/doctor/checkAll/index copy.vue
new file mode 100644
index 0000000..f8f3b19
--- /dev/null
+++ b/src/views/doctor/checkAll/index copy.vue
@@ -0,0 +1,2711 @@
+<template>
+  <div class="mainbox">
+    <el-form :model="queryParams" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px"
+      v-if="tjStatus == 0">
+      <el-form-item label="濮撳悕" prop="name">
+        <el-input v-model="queryParams.name" style="width: 120px" placeholder="璇疯緭鍏ュ鍚�" clearable
+          @keyup.enter.native="submitForm"></el-input>
+      </el-form-item>
+      <el-form-item label="浣撴鍙�" prop="tjNumber">
+        <el-input ref="inputName" v-model="queryParams.tjNumber" style="width: 180px" placeholder="璇疯緭鍏ヤ綋妫�鍙�" clearable
+          @keyup.enter.native="submitForm" @blur="hb"></el-input>
+      </el-form-item>
+      <el-form-item label="浣撴鏃堕棿" prop="tjTime">
+        <el-date-picker v-model="startTime" type="datetimerange" align="right" :picker-options="pickerOptions"
+          style="width: 310px" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" :default-time="['00:00:00', '23:00:00']"
+          format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm" @change="dateChangebirthday1">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="鍗曚綅鍚嶇О" prop="tjCompName" style="margin-left: 20px">
+        <el-select :remote-method="getRemoteData" v-model="queryParams.tjCompName" value-key="drugManufacturerId"
+          style="width: 180px" remote filterable placeholder="璇烽�夋嫨鍗曚綅鍚嶇О" clearable @change="searchSelect">
+          <el-option v-for="dict in CompanyList" :key="dict.drugManufacturerId" :label="dict.cnName" :value="dict" />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="浣撴绫诲埆">
+        <el-select style="width: 200px" v-model="queryParams.tjCategory" placeholder="璇烽�夋嫨浣撴绫诲埆"  @change="searchCategory">
+          <el-option v-for="dict in dict.type.dict_tjtype" :key="dict.value" :label="dict.label"
+            :value="dict.value"></el-option>
+        </el-select>
+        <!-- <el-input v-model="form.category" placeholder="璇疯緭鍏ヤ綋妫�绫诲埆" /> -->
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" size="mini" @click="submitForm" style="margin-right: 15px">鎼滅储</el-button>
+        <el-button size="mini" @click="resetQuery">閲嶇疆</el-button>
+      </el-form-item>
+    </el-form>
+
+
+    <el-form :model="queryParams" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px"
+      v-if="tjStatus == 1">
+      <el-form-item label="濮撳悕" prop="name">
+        <el-input v-model="queryParams.name" style="width: 120px" placeholder="璇疯緭鍏ュ鍚�" clearable
+          @keyup.enter.native="submitForm"></el-input>
+      </el-form-item>
+      <el-form-item label="浣撴鍙�" prop="tjNumber">
+        <el-input ref="inputName" v-model="queryParams.tjNumber" style="width: 180px" placeholder="璇疯緭鍏ヤ綋妫�鍙�" clearable
+          @keyup.enter.native="submitForm" @blur="hb"></el-input>
+      </el-form-item>
+
+      <el-form-item label="鍗曚綅鍚嶇О" prop="tjCompName" style="margin-left: 20px">
+        <el-select :remote-method="getRemoteData" v-model="queryParams.tjCompName" value-key="drugManufacturerId"
+          style="width: 180px" remote filterable placeholder="璇烽�夋嫨鍗曚綅鍚嶇О" clearable @change="searchSelect">
+          <el-option v-for="dict in CompanyList" :key="dict.drugManufacturerId" :label="dict.cnName" :value="dict" />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="瀹℃牳鍖诲笀" prop="shys">
+        <el-input ref="inputName" v-model="queryParams.shys" style="width: 180px" placeholder="璇疯緭鍏ュ鏍稿尰甯�" clearable
+          @keyup.enter.native="submitForm"></el-input>
+      </el-form-item>
+      <el-form-item label="浣撴绫诲埆">
+        <el-select style="width: 200px" v-model="queryParams.tjCategory" placeholder="璇烽�夋嫨浣撴绫诲埆">
+          <el-option v-for="dict in dict.type.dict_tjtype" :key="dict.value" :label="dict.label"
+            :value="dict.value"></el-option>
+        </el-select>
+        <!-- <el-input v-model="form.category" placeholder="璇疯緭鍏ヤ綋妫�绫诲埆" /> -->
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" size="mini" @click="submitForm" style="margin-right: 15px">鎼滅储</el-button>
+        <el-button size="mini" @click="resetQuery">閲嶇疆</el-button>
+        <el-button type="primary" size="mini" @click="toggleCollapse" style="margin-right: 15px"
+          v-show="isCollapsed == 0">楂樼骇鎼滅储</el-button>
+        <el-button type="primary" size="mini" @click="toggleCollapse3" style="margin-right: 15px"
+          v-show="isCollapsed == 1">楂樼骇鎼滅储</el-button>
+      </el-form-item>
+      <el-row v-show="isCollapsed == 1" :gutter="20">
+        <el-col :span="8">
+          <el-form-item label="浣撴鏃堕棿" prop="tjTime">
+            <el-date-picker v-model="startTime" type="datetimerange" align="right" :picker-options="pickerOptions"
+              style="width: 310px" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡"
+              :default-time="['00:00:00', '23:00:00']" format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm"
+              @change="dateChangebirthday1">
+            </el-date-picker>
+          </el-form-item>
+        </el-col>
+      </el-row>
+
+    </el-form>
+
+    <el-radio-group v-model="tjStatus" @input="radioChange" style="margin-left: 20px">
+      <el-radio-button label="0">鏈鏍�</el-radio-button>
+      <el-radio-button label="1">宸插鏍�</el-radio-button>
+    </el-radio-group>
+
+     <el-row :gutter="10" class="mb8" v-if="piliang" style="margin: 15px;">
+      <el-col :span="1.5">
+        <el-button type="primary"  size="mini" @click="handleshenhe">鎵归噺鏍告敹</el-button>
+      </el-col>
+    </el-row>
+
+    <template>
+      <el-table v-loading="loading" :data="checkList" ref="table" border style="margin: 20px; width: 98%"
+        @current-change="handleCurrentChange">
+        <el-table-column  type="selection" align="center" label="閫夋嫨" width="50"  v-if="piliang"/>
+        <el-table-column label="浣撴鍙�" align="center" prop="tjNumber" :show-overflow-tooltip="true" width="160px"
+          fixed="left" />
+        <el-table-column label="濮撳悕" align="center" prop="cusName" :show-overflow-tooltip="true" width="100px"
+          fixed="left" />
+        <el-table-column label="鎬у埆" align="center" prop="cusSex" :show-overflow-tooltip="true" width="55px">
+          <template slot-scope="scope">
+            <span v-if="scope.row.cusSex == '0'">鐢�</span>
+            <span v-if="scope.row.cusSex == '1'">濂�</span>
+            <span v-if="scope.row.cusSex == '2'">鏈煡</span>
+            <span v-if="scope.row.cusSex == '9'">鏈鏄庢�у埆</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="鍑虹敓鏃ユ湡" align="center" prop="cusBrithday" :show-overflow-tooltip="true" width="110px" />
+        <el-table-column label="鐢佃瘽" align="center" prop="cusPhone" :show-overflow-tooltip="true" width="130px" />
+        <el-table-column label="瀹℃牳鏃堕棿" align="center" prop="shsj" :show-overflow-tooltip="true" width="180px" v-if="tjStatus == 1" />
+        <el-table-column label="浣撴鏃堕棿" align="center" prop="tjTime" :show-overflow-tooltip="true" width="180px" v-if="tjStatus == 0" />
+        <!-- <el-table-column label="瀹屾垚鏃堕棿" align="center" prop="finishTime" :show-overflow-tooltip="true" width="160px" /> -->
+        <el-table-column label="鐘舵��" align="center" prop="tjStatus" :show-overflow-tooltip="true" width="120px"
+          v-if="tjStatus == 0">
+          <template slot-scope="scope" v-if="tjStatus == 0">
+            <span>{{ scope.row.tjStatus == "1" ? "宸插鏍�" : "鏈鏍�" }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="瀹℃牳鍖诲笀" align="center" prop="shys" width="120px" v-if="tjStatus == 1" />
+        <el-table-column label="鍗曚綅鍚嶇О" align="center" prop="tjCompName" :show-overflow-tooltip="true" />
+        <el-table-column label="浣撴绫诲埆" align="center" prop="tjCategory">
+          <template slot-scope="scope">
+            <dict-tag :options="dict.type.dict_tjtype" :value="scope.row.tjCategory" />
+          </template>
+        </el-table-column>
+        <el-table-column label="鎿嶄綔" align="center" width="120px" fixed="right">
+          <template slot-scope="scope">
+            <el-button fixed="right" title="澶勬柟" type="text" size="mini" @click.stop="rowClick(scope.row)"
+              icon="el-icon-edit-outline"></el-button>
+            <el-button fixed="right" title="璇︽儏" type="text" size="mini" @click.stop="handleClick(scope.row)"
+              icon="el-icon-document-copy"></el-button>
+            <el-button type="text" size="mini" @click.stop="viewReport(scope.row)" v-if="scope.row.tjStatus == '1'"
+              title="棰勮" icon="el-icon-view"></el-button>
+            <el-button type="text" size="mini" v-if="scope.row.tjStatus == '1'" title="鎾ら攢"
+              @click.stop="getRevoke(scope.row)" icon="el-icon-refresh-left"></el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+
+      <div class="pag">
+        <div class="pag1">
+          <pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.pageSize"
+            @pagination="submitForm" />
+        </div>
+      </div>
+    </template>
+
+    <!-- 鐐瑰嚮寮瑰嚭妗� -->
+    <el-drawer custom-class="tanchu" :visible.sync="drawer" :before-close="handleClose" :with-header="false" size="100%"
+      :show-close="true">
+      <div v-loading="isLoading" element-loading-text="姝e湪鍔犺浇鏁版嵁锛岃绋嶅��..." element-loading-spinner="el-icon-loading"
+        element-loading-background="rgba(255, 255, 255, 0.8)" style="height: 100%; padding: 20px; position: relative;">
+        <div class="top">
+          <table style="width: 100%; margin: 10px 10px; border: 1px solid #dfe6ec; border-collapse: collapse;"
+            cellspacing="4">
+            <caption style="background-color: #f8f8f9; font-size: 18px">
+              {{ tableAll.cusName }}鐨勪綋妫�璧勬枡
+            </caption>
+            <tr style="border: 1px solid #dfe6ec; border-collapse: collapse; height: 36px;">
+              <td style="border: 1px solid #dfe6ec; border-collapse: collapse">濮撳悕锛�</td>
+              <td style="border: 1px solid #dfe6ec; border-collapse: collapse">{{ tableAll.cusName }}</td>
+              <td style="border: 1px solid #dfe6ec; border-collapse: collapse">鎬у埆锛歿{ tableAll.cusSex == 0 ? "鐢�" :
+                tableAll.cusSex == 1 ? "濂�" : "鏈煡" }}</td>
+              <td style="border: 1px solid #dfe6ec; border-collapse: collapse">骞撮緞锛歿{ tableAll.age }}</td>
+            </tr>
+            <tr style="border: 1px solid #dfe6ec; border-collapse: collapse; height: 36px;">
+              <td style="border: 1px solid #dfe6ec; border-collapse: collapse">浣撴鍗曞彿锛�</td>
+              <td style="border: 1px solid #dfe6ec; border-collapse: collapse">{{ tableAll.tjNumber }}</td>
+              <td style="border: 1px solid #dfe6ec; border-collapse: collapse">浣撴鏃堕棿锛�</td>
+              <td style="border: 1px solid #dfe6ec; border-collapse: collapse">{{ tableAll.tjTime }}</td>
+            </tr>
+          </table>
+          <i class="el-icon-close" @click="guanbi"></i>
+        </div>
+
+        <div style="margin-right: 10px; display: flex" class="btnbox">
+          <div class="btn1" v-if="msgtuwen == 'y' || msgtuwen == 'Y'">
+            <el-button @click="Graphicreport()" type="primary">
+              <span class="vertical-text">鍥炬枃鎶ュ憡</span>
+            </el-button>
+          </div>
+          <div class="btn1">
+            <el-button @click="historicalreport()" type="primary"><span class="vertical-text">鍘嗗彶鎶ュ憡</span></el-button>
+          </div>
+          <div v-if="tableAll.tjCategory == '02'" class="btn1">
+            <el-button @click="medicalhistory()" type="primary"><span class="vertical-text">鑱屼笟鐥呭彶</span></el-button>
+          </div>
+          <div class="btn1" v-if="msgjianqian == 'y' || msgjianqian == 'Y'">
+            <el-button @click="jianqian()" type="primary"><span class="vertical-text">妫�鍓嶉棶璇�</span></el-button>
+          </div>
+          <div class="btn1">
+            <el-button @click="xiangmuqingkuang()" type="primary"><span class="vertical-text">椤圭洰鎯呭喌</span></el-button>
+          </div>
+          <div class="btn1">
+            <el-button @click="yichangjieguo()" type="primary"><span class="vertical-text">寮傚父缁撴灉</span></el-button>
+          </div>
+          <div class="btn1">
+            <el-button @click="fuchaxiangmu()" type="primary"><span class="vertical-text">澶嶆煡椤圭洰</span></el-button>
+          </div>
+          <div class="btn1">
+            <el-button @click="yichanghuifu()" type="primary"><span class="vertical-text">寮傚父鎭㈠</span></el-button>
+          </div>
+        </div>
+        <div class="box">
+          <div class="left-container">
+            <div class="left">
+              <div v-for="(item, index) in changedate" :key="index">
+                <div style="text-align: center; background-color: #aad8df; margin-top: 10px;">
+                  {{ item.parent || "" }}
+                </div>
+                <div v-if="item.xmlb == '0'">
+                  <el-table :data="item.sons" border style="width: 100%" :row-style="changRed"
+                    :header-cell-style="{ background: '#aad8df' }">
+                    <el-table-column align="center" label="妫�娴嬮」鐩�" width="464">
+                      <template slot-scope="scope">
+                        <div>{{ scope.row.proName }}</div>
+                      </template>
+                    </el-table-column>
+                    <el-table-column align="center" prop="proResult" label="妫�娴嬬粨鏋�" width="180"></el-table-column>
+                    <el-table-column align="center" prop="" label="鍗曚綅">
+                      <template slot-scope="scope">
+                        <div v-if="scope.row.project != null">{{ scope.row.standard.company || "" }}</div>
+                        <div v-else>{{ scope.row.proAdvice }}</div>
+                      </template>
+                    </el-table-column>
+                    <el-table-column align="center" prop="conclusion" label="寮傚父" width="180"></el-table-column>
+                    <el-table-column align="center" prop="" label=" 鍙傝�冭寖鍥�">
+                      <template slot-scope="scope">
+                        <div v-if="scope.row.project != null">
+                          {{ scope.row.standard.tjStandardGtValue || "/" + "-" + scope.row.standard.tjStandardLtValue ||
+                            "/" }}
+                        </div>
+                        <div v-else>{{ scope.row.stanId || "/" }}</div>
+                      </template>
+                    </el-table-column>
+                  </el-table>
+                  <table style="width: 100%" v-if="tjproject != '1'">
+                    <tr style="border: 1px solid #dfe6ec; border-collapse: collapse">
+                      <td style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 7%;">
+                        灏忕粨锛�
+                      </td>
+                      <td style="border: 1px solid #dfe6ec; width: 45%">
+                        <el-input v-model="item.remark" disabled></el-input>
+                      </td>
+                      <td style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 15%;">
+                        涓绘鍖诲笀锛�
+                      </td>
+                      <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="2">
+                        {{ item.doctorName }}
+                      </td>
+                    </tr>
+                    <tr style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 200px;">
+                      <td style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 240px;">
+                        澶囨敞锛�
+                      </td>
+                      <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="3">
+                        <el-input type="textarea" autosize placeholder="璇疯緭鍏ュ唴瀹�" v-model="changedate[index].remark"
+                          v-on:input="change" style="width: 100%"></el-input>
+                      </td>
+                    </tr>
+                  </table>
+                </div>
+                <div v-else>
+                  <table style="width: 100%" v-if="tjproject != '1'">
+                    <tr style="border: 1px solid #dfe6ec">
+                      <td style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 15%; height: auto;">
+                        妫�鏌ユ墍瑙侊細
+                      </td>
+                      <td style="border: 1px solid #dfe6ec; height: auto" colspan="2">
+                        <el-input type="textarea" autosize placeholder="璇疯緭鍏ュ唴瀹�" v-model="item.jgbx"
+                          style="width: 100%"></el-input>
+                      </td>
+                    </tr>
+                    <tr style="border: 1px solid #dfe6ec; border-collapse: collapse">
+                      <td style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 15%;">
+                        妫�鏌ユ彁绀猴細
+                      </td>
+                      <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="2">
+                        <el-input type="textarea" autosize placeholder="璇疯緭鍏ュ唴瀹�" v-model="item.remark"
+                          style="width: 100%"></el-input>
+                      </td>
+                    </tr>
+                    <tr style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 200px;">
+                      <td style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 15%;">
+                        涓绘鍖诲笀锛�
+                      </td>
+                      <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="2">
+                        {{ item.doctorName }}
+                      </td>
+                    </tr>
+                  </table>
+                </div>
+              </div>
+              <div v-if="tableAll && tableAll.tjCategory === '02'" class="section-title">鑱屼笟鐥呮�绘</div>
+              <el-form v-if="tableAll && tableAll.tjCategory === '02'" ref="numberValidateForm" label-width="80px"
+                class="demo-ruleForm">
+                <el-form-item label="妫�鏌ョ粨璁�">
+                  <el-input type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" v-model="zhiyeJl" :rows="3"
+                    style="width: 96%"></el-input>
+                </el-form-item>
+                <el-form-item label="浣撴缁撴灉">
+                  <el-input type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" v-model="zhiyeJg" :rows="3"
+                    style="width: 96%"></el-input>
+                </el-form-item>
+              </el-form>
+              <div style="margin: 0 0px 10px 15px" v-if="tjproject != '1'">
+                <el-button type="primary" @click="propoChange">蹇嵎寤鸿</el-button>
+                <el-button type="primary" @click="proposalChange">鐢熸垚寤鸿</el-button>
+              </div>
+
+              <el-form ref="numberValidateForm" label-width="80px" class="demo-ruleForm" v-if="tjproject != '1'">
+                <el-form-item label="鎬绘寤鸿">
+                  <el-input type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" v-model="textarea1" :rows="3"
+                    style="width: 96%"></el-input>
+                </el-form-item>
+              </el-form>
+              <el-form ref="numberValidateForm" label-width="100px" class="demo-ruleForm" v-if="tjproject != '1' && sfsjsh == 'Y'">
+                <el-form-item label="涓婄骇鍖诲笀寤鸿">
+                  <el-input type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" v-model="textarea1" :rows="3"
+                    style="width: 96%"></el-input>
+                </el-form-item>
+              </el-form>
+              <el-form ref="numberValidateForm" label-width="100px" class="demo-ruleForm" v-if="tjproject != '1' && sfsjsh == 'Y'">
+                <el-form-item label="涓讳换鍖诲笀寤鸿">
+                  <el-input type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" v-model="textarea1" :rows="3"
+                    style="width: 96%"></el-input>
+                </el-form-item>
+              </el-form>
+              <div slot="footer" class="dialog-footers">
+                <el-button type="primary" @click.stop="guanbi">鍙栨秷</el-button>
+                <el-button v-if="tjproject == '0' && (msgkcf == 'y' || msgkcf == 'Y')" type="primary"
+                  @click.stop="rowClick" icon="el-icon-edit-outline">寮�澶勬柟</el-button>
+                <div v-if="tjproject == '0'">
+                  <el-button type="primary" @click="determine" :disabled="isdisabled">鎻愪氦骞剁敓鎴愭姤鍛�</el-button>
+                </div>
+              </div>
+            </div>
+          </div>
+          <div class="rightbox">
+            <div class="right">
+              <template v-if="status1 == 0">
+                <div v-for="(item, index) in yichangList" :key="index">
+                  <div style="text-align: center; background-color: #67c23a; margin-top: 10px;">
+                    {{ item.proName || "" }}
+                  </div>
+                  <template v-if="item.jyjc == '0'">
+                    <el-table :stripe="true" :row-style="red" :data="item.sone" border style="width: 100%"
+                      :header-cell-style="{ background: '#67C23A' }" :expand-row-keys="expends" :row-key="getRowKeys"
+                      v-loading="loading">
+                      <el-table-column type="expand">
+                        <template slot-scope="props">
+                          <div style="padding: 10px;">
+                            <!-- 鍐呭鍖哄煙 -->
+                            <div v-if="props.row.advices && props.row.advices.length > 0">
+                              <div v-for="(jianyi, index1) in props.row.advices" :key="index1"
+                                style="margin-bottom: 10px">
+                                <div>
+                                  鏍囬锛�
+                                  <el-input v-model="jianyi.bt" size="small" type="textarea" autosize
+                                    @blur="handleAdviceBlur(props.row, index1)"></el-input>
+                                </div>
+                                <div>
+                                  鍐呭锛�
+                                  <el-input v-model="jianyi.nr" size="small" type="textarea" autosize
+                                    @blur="handleAdviceBlur(props.row, index1)"></el-input>
+                                </div>
+                              </div>
+                            </div>
+                            <!-- 濡傛灉 advices 涓虹┖鏃讹紝娓叉煋绌虹殑杈撳叆妗� -->
+                            <div v-else>
+                              <div>
+                                鏍囬锛�
+                                <el-input v-model="emptyAdvice.bt" size="small" type="textarea" autosize
+                                  @blur="handleAdviceBlur(props.row, -1)"></el-input>
+                              </div>
+                              <div>
+                                鍐呭锛�
+                                <el-input v-model="emptyAdvice.nr" size="small" type="textarea" autosize
+                                  @blur="handleAdviceBlur(props.row, -1)"></el-input>
+                              </div>
+                            </div>
+                            <div style="margin-top: 10px;">
+                              <el-button @click="shanchu(props.row)" type="danger" size="small">鍒犻櫎</el-button>
+                            </div>
+                          </div>
+                        </template>
+                      </el-table-column>
+                      <el-table-column align="center" label="妫�娴嬮」鐩�" :show-overflow-tooltip="true" width="353">
+                        <template slot-scope="scope">
+                          <div>{{ scope.row.proName }}</div>
+                        </template>
+                      </el-table-column>
+                      <el-table-column align="center" prop="proResult" label="妫�娴嬬粨鏋�" width="85"></el-table-column>
+                      <el-table-column align="center" prop="stanId" label=" 鍙傝�冭寖鍥�" width="117"></el-table-column>
+                      <el-table-column align="center" prop="proAdvice" label="鍗曚綅" width="78"></el-table-column>
+                    </el-table>
+                  </template>
+                  <template v-if="item.jyjc == '1'">
+                    <el-table :stripe="true" :row-style="red" :data="item.sone" border style="width: 100%"
+                      :header-cell-style="{ background: '#67C23A' }" :expand-row-keys="expends" :row-key="getRowKeys">
+                      <el-table-column type="expand">
+                        <template slot-scope="props">
+                          <div style="padding: 10px;">
+                            <!-- 鍐呭鍖哄煙 -->
+                            <div v-if="props.row.advices && props.row.advices.length > 0">
+                              <div v-for="(jianyi, index1) in props.row.advices" :key="index1"
+                                style="margin-bottom: 10px">
+                                <div>
+                                  鏍囬锛�
+                                  <el-input v-model="jianyi.bt" size="small" type="textarea" autosize
+                                    @blur="handleAdviceBlur(props.row, index1)"></el-input>
+                                </div>
+                                <div>
+                                  鍐呭锛�
+                                  <el-input v-model="jianyi.nr" size="small" type="textarea" autosize
+                                    @blur="handleAdviceBlur(props.row, index1)"></el-input>
+                                </div>
+                              </div>
+                            </div>
+                            <!-- 濡傛灉 advices 涓虹┖鏃讹紝娓叉煋绌虹殑杈撳叆妗� -->
+                            <div v-else>
+                              <div>
+                                鏍囬锛�
+                                <el-input v-model="emptyAdvice.bt" size="small" type="textarea" autosize
+                                  @blur="handleAdviceBlur(props.row, -1)"></el-input>
+                              </div>
+                              <div>
+                                鍐呭锛�
+                                <el-input v-model="emptyAdvice.nr" size="small" type="textarea" autosize
+                                  @blur="handleAdviceBlur(props.row, -1)"></el-input>
+                              </div>
+                            </div>
+                            <div style="margin-top: 10px;">
+                              <el-button @click="shanchu(props.row)" type="danger" size="small">鍒犻櫎</el-button>
+                            </div>
+                          </div>
+                        </template>
+                      </el-table-column>
+                      <el-table-column align="center" label="妫�娴嬮」鐩�" width="232" :show-overflow-tooltip="true">
+                        <template slot-scope="scope">
+                          <div>{{ scope.row.proName }}</div>
+                        </template>
+                      </el-table-column>
+                      <el-table-column align="center" prop="proResult" label="妫�娴嬬粨鏋�" width="403"></el-table-column>
+                    </el-table>
+                  </template>
+                </div>
+              </template>
+              <template v-if="status1 == 1">
+                <div>
+                  <div style="text-align: center; background-color: #e6a23c; margin-top: 10px;">
+                    椤圭洰妫�鏌ユ儏鍐�
+                  </div>
+                  <el-table :row-style="redxiangmu" :data="statusList" style="width: 100%"
+                    :header-cell-style="{ background: '#e6a23c' }">
+                    <el-table-column align="center" label="閮ㄩ棬" width="144" prop="deptName"></el-table-column>
+                    <el-table-column align="center" prop="proName" label="椤圭洰" width="260"></el-table-column>
+                    <el-table-column label="鐘舵��" align="center" prop="type" :show-overflow-tooltip="true" width="120">
+                      <template slot-scope="scope">
+                        <span v-if="scope.row.type == '0'">鏈鏍�</span>
+                        <span v-if="scope.row.type == '1'">宸插鏍�</span>
+                        <span v-if="scope.row.type == '2'">寮冩</span>
+                        <span v-if="scope.row.type == '3'">寤舵湡</span>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="妫�鏌ユ椂闂�" align="center" prop="bcupdateTime" width="160" />
+                    <el-table-column label="鎿嶄綔" align="center" width="130px">
+                      <template slot-scope="scope">
+                        <el-button type="primary" size="mini" @click="huifu" v-if="scope.row.type == '2'">鎭㈠</el-button>
+                      </template>
+                    </el-table-column>
+                  </el-table>
+                </div>
+              </template>
+
+              <template v-if="status1 == 2">
+                <div>
+                  <div style="text-align: center; margin-top: 10px;">
+                    澶嶆煡椤圭洰
+                  </div>
+                  <div style="display: flex;margin:15px ;">
+                    <span slot="label" style="display: inline-block; border-bottom: 2px solid blue;font-size: 0.8vw;"
+                      @click="handleQuery">
+                      椤圭洰閫夋嫨
+                    </span>
+                    <div v-if="xmChange.length > 0" style="display: flex;">
+                      <div style="margin:0 40px;font-size: 0.8vw;">椤圭洰鍚嶇О锛歿{ xmChange[0].proName || "" }}</div>
+                      <div style="margin:0 80px ;font-size: 0.8vw;">浠锋牸锛歿{ xmChange[0].price || "" }}</div>
+                    </div>
+                    <div v-else style="display: flex;">
+                      <div style="margin:0 40px;font-size: 0.8vw;">椤圭洰鍚嶇О锛歿{ }}</div>
+                      <div style="margin:0 80px ;font-size: 0.8vw;">浠锋牸锛歿{ }}</div>
+                    </div>
+                    <el-button type="primary" size="mini" @click="handleaddClick()">娣诲姞</el-button>
+                  </div>
+
+                  <el-table :row-style="redxiangmu" :data="fcList" style="width: 100%" border>
+                    <el-table-column type="selection" width="40" align="center" />
+                    <el-table-column label="搴忓彿" align="center" prop="newID" />
+                    <el-table-column label="鍚嶇О" align="center" prop="proName" width="100px" />
+                    <el-table-column label="浠锋牸" align="center" prop="price" />
+                    <el-table-column label="绉戝" align="center" prop="deptName" />
+                    <el-table-column label="鎿嶄綔" align="center" width="130px">
+                      <template slot-scope="scope">
+                        <el-button type="primary" size="mini" @click="handledeleteClick(scope.row)">鍒犻櫎</el-button>
+                      </template>
+                    </el-table-column>
+                  </el-table>
+                </div>
+              </template>
+              <template v-if="status1 == 3">
+                <div class="hist3">
+                  <span class="txt">闂瘖淇℃伅</span>
+                  <el-form ref="form" :model="formobj" label-width="100px" :inline="true" size="mini">
+                    <el-collapse class="coll" v-model="activeName" accordion>
+                      <el-collapse-item class="coll" title="鍩烘湰淇℃伅" name="1" style="width: 100%; font-weight: 600">
+                        <div style="width: 100%">
+                          <el-form-item label="濮撳悕" prop="cusName">
+                            <el-input disabled v-model="formobj.cusName" placeholder="璇疯緭鍏ュ鍚�" />
+                          </el-form-item>
+                          <el-form-item label="鑱屼笟" prop="work">
+                            <el-select filterable v-model="formobj.work" placeholder="璇烽�夋嫨鑱屼笟" clearable
+                              style="width: 150px" disabled>
+                              <el-option v-for="dict in dict.type.tj_work" :key="dict.value" :label="dict.label"
+                                :value="dict.value" />
+                            </el-select>
+                          </el-form-item>
+                          <el-form-item label="宸ヤ綔鐘舵��" prop="workStatus">
+                            <el-select disabled filterable v-model="formobj.workStatus" placeholder="璇烽�夋嫨宸ヤ綔鐘舵��" clearable
+                              style="width: 150px">
+                              <el-option v-for="dict in dict.type.tj_work_status" :key="dict.value" :label="dict.label"
+                                :value="dict.value" />
+                            </el-select>
+                          </el-form-item>
+                          <el-form-item label="鎺ヨЕ姣掔墿" prop="contactPoison">
+                            <el-input disabled type="textarea" rows="4" v-model="formobj.contactPoison"
+                              placeholder="璇疯緭鍏ユ帴瑙︽瘨鐗�" style="width: 700px" />
+                          </el-form-item>
+                          <el-form-item label="鏃㈠線鐥呭彶" prop="medicalHistory">
+                            <el-input disabled type="textarea" rows="4" v-model="formobj.medicalHistory"
+                              placeholder="璇疯緭鍏ユ棦寰�鐥呭彶" style="width: 700px" />
+                          </el-form-item>
+                        </div>
+                      </el-collapse-item>
+                      <el-collapse-item title="鏈堢粡鍙�" name="2" v-show="sex">
+                        <div style="width: 100%">
+                          <el-form-item label="鍒濇疆(宀�)" prop="chuchao">
+                            <el-input v-model="formobj.chuchao" style="width: 70px" disabled />
+                          </el-form-item>
+                          <el-form-item label="缁忔湡" prop="jingqi">
+                            <el-input v-model="formobj.jingqi" disabled style="width: 70px" />澶�
+                          </el-form-item>
+                          <el-form-item label="鍛ㄦ湡" prop="zhouqi">
+                            <el-input v-model="formobj.zhouqi" disabled style="width: 70px" />澶�
+                          </el-form-item>
+                          <el-form-item label="鏈鏈堢粡" prop="mociage">
+                            <el-input v-model="formobj.mociage" disabled style="width: 100px" />
+                          </el-form-item>
+                        </div>
+                      </el-collapse-item>
+                      <el-collapse-item title="鐢熻偛鍙�" name="3" v-show="sex">
+                        <div style="width: 100%">
+                          <el-form-item label="鐜版湁瀛愬コ(浜�)" prop="zinv">
+                            <el-input v-model="formobj.zinv" style="width: 70px" disabled />
+                          </el-form-item>
+                          <el-form-item label="娴佷骇(娆�)" prop="liuchan">
+                            <el-input v-model="formobj.liuchan" style="width: 70px" disabled />
+                          </el-form-item>
+                          <el-form-item label="鏃╀骇(娆�)" prop="zaochan">
+                            <el-input v-model="formobj.zaochan" style="width: 70px" disabled />
+                          </el-form-item>
+                          <el-form-item label="姝讳骇(娆�)" prop="sichan">
+                            <el-input v-model="formobj.sichan" style="width: 70px" disabled />
+                          </el-form-item>
+                          <el-form-item label="寮傚父鑳�(娆�)" prop="yichangtai">
+                            <el-input v-model="formobj.yichangtai" style="width: 70px" disabled />
+                          </el-form-item>
+                        </div>
+                      </el-collapse-item>
+                      <el-collapse-item title="鐑熼厭鍙�" name="4">
+                        <div style="width: 100%">
+                          <el-form-item label="鏄惁鍚哥儫" prop="xiyan">
+                            <el-select disabled filterable v-model="formobj.xiyan" placeholder="璇烽�夋嫨鏄惁鍚哥儫" clearable
+                              style="width: 150px">
+                              <el-option v-for="dict in dict.type.tj_smoking_pinlv" :key="dict.value"
+                                :label="dict.label" :value="dict.value" />
+                            </el-select>
+                          </el-form-item>
+                          <el-form-item label="鍚哥儫棰戠巼" prop="xiyanpinlv">
+                            <el-input v-model="formobj.xiyanpinlv" disabled style="width: 70px" />鏀�/澶�
+                          </el-form-item>
+                          <el-form-item label="鍚哥儫鏃堕棿" prop="xiyanyear">
+                            <el-input v-model="formobj.xiyanyear" disabled style="width: 70px" />骞�
+                          </el-form-item><br />
+                          <el-form-item label="鏄惁楗厭" prop="yinjiu">
+                            <el-select filterable v-model="formobj.yinjiu" disabled placeholder="璇烽�夋嫨鏄惁楗厭" clearable
+                              style="width: 150px">
+                              <el-option v-for="dict in dict.type.tj_smoking_pinlv" :key="dict.value"
+                                :label="dict.label" :value="dict.value" />
+                            </el-select>
+                          </el-form-item>
+                          <el-form-item label="楗厭棰戠巼" prop="yinjiupinlv">
+                            <el-input v-model="formobj.yinjiupinlv" disabled style="width: 70px" />ml/澶�
+                          </el-form-item>
+                          <el-form-item label="楗厭鏃堕棿" prop="yinjiuyear">
+                            <el-input v-model="formobj.yinjiuyear" disabled style="width: 70px" />骞�
+                          </el-form-item>
+                          <el-form-item label="鍏朵粬" prop="qita">
+                            <el-input v-model="formobj.qita" placeholder="璇疯緭鍏ュ叾浠�" disabled type="textarea"
+                              style="width: 600px" rows="2" />
+                          </el-form-item>
+                        </div>
+                      </el-collapse-item>
+                      <el-collapse-item title="鎬ユ參鎬ц亴涓氱梾鍙蹭俊鎭�" name="5">
+                        <div style="width: 100%">
+                          <el-table border :data="formobj.tjAskHistorysList" ref="tjAskHistorys" style="width: 98%">
+                            <el-table-column type="selection" width="40" align="center" />
+                            <el-table-column label="鐤剧梾鍚嶇О" prop="diseaseName">
+                              <template slot-scope="scope">
+                                <el-input size="mini" disabled v-model="scope.row.diseaseName" placeholder="璇疯緭鍏ョ柧鐥呭悕绉�" />
+                              </template>
+                            </el-table-column>
+                            <el-table-column label="璇婃柇鏃ユ湡" prop="diseaseData">
+                              <template slot-scope="scope">
+                                <el-date-picker size="mini" v-model="scope.row.diseaseData" align="right" type="date"
+                                  placeholder="閫夋嫨鏃ユ湡" :picker-options="pickerOptions" style="width: 130px"
+                                  value-format="yyyy-MM-dd">
+                                </el-date-picker>
+                              </template>
+                            </el-table-column>
+                            <el-table-column label="璇婃柇鍗曚綅" prop="diseaseCompany">
+                              <template slot-scope="scope">
+                                <el-input size="mini" disabled v-model="scope.row.diseaseCompany"
+                                  placeholder="璇疯緭鍏ヨ瘖鏂崟浣�" />
+                              </template>
+                            </el-table-column>
+                            <el-table-column label="鏄惁鐥婃剤" prop="isOk">
+                              <template slot-scope="scope">
+                                <el-select disabled filterable size="mini" v-model="scope.row.isOk"
+                                  placeholder="璇烽�夋嫨鏄惁鐥婃剤" clearable>
+                                  <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label"
+                                    :value="dict.value" />
+                                </el-select>
+                              </template>
+                            </el-table-column>
+                            <el-table-column label="澶囨敞" prop="remark">
+                              <template slot-scope="scope">
+                                <el-input disabled size="mini" v-model="scope.row.remark" placeholder="璇疯緭鍏ュ娉�" />
+                              </template>
+                            </el-table-column>
+                          </el-table>
+                        </div>
+                      </el-collapse-item>
+                      <el-collapse-item title="鑱屼笟鍙�" name="7">
+                        <div style="width: 100%">
+                          <el-table border :data="formobj.workLogs" style="width: 98%">
+                            <el-table-column type="selection" width="40" align="center" />
+                            <el-table-column label="寮�濮嬫椂闂�" prop="beginTime">
+                              <template slot-scope="scope">
+                                <el-date-picker size="mini" v-model="scope.row.beginTime" align="right" type="date"
+                                  placeholder="閫夋嫨鏃ユ湡" :picker-options="pickerOptions" style="width: 130px"
+                                  value-format="yyyy-MM-dd">
+                                </el-date-picker>
+                              </template>
+                            </el-table-column>
+                            <el-table-column label="缁撴潫鏃堕棿" prop="endTime">
+                              <template slot-scope="scope">
+                                <el-date-picker size="mini" disabled v-model="scope.row.endTime" align="right"
+                                  type="date" placeholder="閫夋嫨鏃ユ湡" :picker-options="pickerOptions" style="width: 130px"
+                                  value-format="yyyy-MM-dd">
+                                </el-date-picker>
+                              </template>
+                            </el-table-column>
+                            <el-table-column label="宸ヤ綔鍗曚綅" prop="workCompany">
+                              <template slot-scope="scope">
+                                <el-input size="mini" disabled v-model="scope.row.workCompany" placeholder="璇疯緭鍏ュ伐浣滃崟浣�" />
+                              </template>
+                            </el-table-column>
+                            <el-table-column label="閮ㄩ棬" prop="workDept">
+                              <template slot-scope="scope">
+                                <el-input disabled size="mini" v-model="scope.row.workDept" placeholder="璇疯緭鍏ラ儴闂�" />
+                              </template>
+                            </el-table-column>
+                            <el-table-column label="宸ョ" prop="workType">
+                              <template slot-scope="scope">
+                                <el-input disabled size="mini" v-model="scope.row.workType" placeholder="璇疯緭鍏ュ伐绉�" />
+                              </template>
+                            </el-table-column>
+                            <el-table-column label="鏈夊鍥犵礌" prop="harmTypeLogs">
+                              <template slot-scope="scope">
+                                <el-select filterable disabled size="mini" v-model="scope.row.harmTypeLogs" multiple
+                                  placeholder="璇烽�夋嫨鏈夊鍥犵礌" clearable>
+                                  <el-option v-for="dict in harmTypeList" :key="dict.aid" :label="dict.harmtype"
+                                    :value="dict.aid" />
+                                </el-select>
+                              </template>
+                            </el-table-column>
+                            <el-table-column label="闃叉姢鎺柦" prop="fangHu">
+                              <template slot-scope="scope">
+                                <el-input disabled size="mini" v-model="scope.row.fangHu" placeholder="璇疯緭鍏ラ槻鎶ゆ帾鏂�" />
+                              </template>
+                            </el-table-column>
+                          </el-table>
+                        </div>
+                      </el-collapse-item>
+                    </el-collapse>
+                  </el-form>
+                </div>
+              </template>
+              <template v-if="status1 == 4">
+                <div>
+                  <el-table
+                    :data="ychfList"
+                    style="width: 100%"
+                    :header-cell-style="{ background: '#e6a23c' }"
+                  >
+                    <el-table-column
+                      align="center"
+                      prop="jcxm"
+                      label="椤圭洰鍚�"
+                      width="260"
+                    ></el-table-column>
+                    <el-table-column
+                      label="缁撴灉"
+                      align="center"
+                      prop="jcjg"
+                      width="160"
+                    />
+                    <el-table-column label="鎿嶄綔" align="center" width="130px">
+                      <template v-slot="scope">
+                        <el-button
+                          type="primary"
+                          size="mini"
+                          @click="hfyc(scope.row.id)"
+                          >鎭㈠</el-button
+                        >
+                      </template>
+                    </el-table-column>
+                  </el-table>
+                </div>
+              </template>
+              <el-button type="primary" @click="addnew" :disabled="isdisabled" style="margin-top: 20px;">鏂板</el-button>
+            </div>
+          </div>
+        </div>
+      </div>
+
+    </el-drawer>
+
+    <el-dialog title="PDF 棰勮" :visible.sync="dialogVisible" :close-on-click-modal="false" width="50%">
+      <div class="main">
+        <iframe id="printIframe" :src="url" frameborder="0" style="width: 100%; height: 100%"></iframe>
+      </div>
+    </el-dialog>
+    <el-dialog title="鎻愮ず" :visible.sync="jianqians" width="1000px" :before-close="handleClose1">
+      <jianqianwenzhen :jianqianwenzhendata="jianqianwenzhendata" v-if="flags"></jianqianwenzhen>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="jianqians = false">鍙� 娑�</el-button>
+      </span>
+    </el-dialog>
+    <el-dialog title="鏂板寮傚父缁撴灉" :visible.sync="addNewDialogVisible" width="900px" class="custom-dialog">
+      <el-form :model="newItem" ref="newItemForm" label-width="100px" class="custom-form">
+        <el-form-item label="椤圭洰鍒嗙被" prop="parentName">
+          <el-select v-model="newItem.parentName" placeholder="璇烽�夋嫨椤圭洰鍒嗙被" clearable filterable
+            @change="handleCategoryChange">
+            <el-option v-for="item in projectCategories" :key="item.proId" :label="item.proName"
+              :value="item.proName" />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="妫�娴嬮」鐩�" prop="jcxm">
+          <el-input v-model="newItem.jcxm" placeholder="璇疯緭鍏ユ娴嬮」鐩垨浠庡垎绫婚�夋嫨" clearable></el-input>
+        </el-form-item>
+        <el-form-item label="妫�娴嬬粨鏋�" prop="jcjg">
+          <el-input v-model="newItem.jcjg" placeholder="璇疯緭鍏ユ娴嬬粨鏋�" clearable></el-input>
+        </el-form-item>
+        <el-form-item label="鍙傝�冭寖鍥�" prop="ckfw">
+          <el-input v-model="newItem.ckfw" placeholder="璇疯緭鍏ュ弬鑰冭寖鍥�" clearable></el-input>
+        </el-form-item>
+        <el-form-item label="鍗曚綅" prop="dw">
+          <el-input v-model="newItem.dw" placeholder="璇疯緭鍏ュ崟浣�" clearable></el-input>
+        </el-form-item>
+        <!-- 鍔ㄦ�佸缓璁粍 -->
+        <div v-for="(advice, index) in newItem.map" :key="index" class="advice-group">
+          <el-form-item label="寤鸿鏍囬" :prop="'map.' + index + '.bt'">
+            <el-input v-model="advice.bt" placeholder="璇疯緭鍏ュ缓璁爣棰�" clearable @focus="tan($event)"></el-input>
+          </el-form-item>
+          <el-form-item label="寤鸿鍐呭" :prop="'map.' + index + '.nr'">
+            <el-input v-model="advice.nr" type="textarea" rows="3" placeholder="璇疯緭鍏ュ缓璁唴瀹�" resize="none"
+              @focus="tan($event)"></el-input>
+          </el-form-item>
+          <el-button v-if="index > 0" type="danger" size="small" @click="removeAdvice(index)"
+            style="margin-left: 100px; margin-bottom: 10px;">鍒犻櫎</el-button>
+        </div>
+        <el-form-item>
+          <el-button type="primary" size="small" @click="addAdvice" style="margin-left: 100px;">娣诲姞寤鸿</el-button>
+        </el-form-item>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="addNewDialogVisible = false">鍙栨秷</el-button>
+        <el-button type="primary" @click="submitNewItem">纭畾</el-button>
+      </span>
+    </el-dialog>
+    <el-dialog title="蹇嵎寤鸿閫夋嫨" :visible.sync="showjianyi" width="1000px" class="custom-dialog"
+      :before-close="handleCloseAdviceDialog">
+      <!-- 鎼滅储鍖哄煙 -->
+      <div style="margin-bottom: 15px;">
+        <el-form :inline="true">
+          <el-form-item label="寤鸿鍚嶇О">
+            <el-input v-model="queryParams1.zyzd" placeholder="璇疯緭鍏ュ缓璁悕绉拌繘琛岀瓫閫�" clearable style="width: 200px"
+              @input="filterAdvices(true)" @keyup.enter.native="filterAdvices(true)" />
+          </el-form-item>
+        </el-form>
+      </div>
+
+      <!-- 寤鸿琛ㄦ牸 -->
+      <el-table v-loading="adviceLoading" :data="advicerulesList" ref="adviceTable" border highlight-current-row
+        @current-change="handleCurrentChangeAdvice" style="max-height: 400px; overflow-y: auto;"
+        :empty-text="adviceEmptyText">
+        <el-table-column label="绉戝" prop="ks" width="100" align="center" />
+        <el-table-column label="寤鸿鍚嶇О" prop="jymc" align="center" />
+        <el-table-column label="寤鸿鍐呭" prop="jynr" align="center" />
+      </el-table>
+
+      <!-- 鍒嗛〉 -->
+      <div class="pag">
+        <div class="pag2">
+          <pagination v-show="total1 > 0" :total="total1" :page.sync="queryParams1.pageNum"
+            :limit.sync="queryParams1.pageSize" @pagination="filterAdvices(false)" />
+        </div>
+      </div>
+
+      <!-- 搴曢儴鎸夐挳 -->
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="cancelAdviceDialog">鍙栨秷</el-button>
+        <el-button type="primary" @click="applySelectedAdvice" :disabled="!selectedAdvice">纭畾</el-button>
+      </span>
+    </el-dialog>
+
+    <el-dialog :visible.sync="xmopen" width="800px" append-to-body>
+      <div style="margin: 20px;">
+        <el-table :data="datasList" ref="elTable" v-loading="loading" @selection-change="handlexmChange" border
+          height="320px">
+          <el-table-column type="selection" width="40" align="center" />
+          <el-table-column label="鍚嶇О" align="center" prop="proName" width="100px" />
+          <el-table-column label="浠锋牸" align="center" prop="price" />
+          <el-table-column label="绉戝" align="center" prop="deptName" />
+        </el-table>
+      </div>
+
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitFormxm">纭� 瀹�</el-button>
+        <el-button @click="cancels">鍙� 娑�</el-button>
+      </div>
+    </el-dialog>
+    <Packages ref="bbb" :baogao="baogao" />
+    <Prescription ref="Pre" :preObj="preObj" />
+    <proposal ref="proposal" :cusobj="cusobj" @event1="eventchange($event)" />
+    <createproposal ref="createproposal" :creatobj="creatobj" />
+    <el-dialog title="甯哥敤寤鸿缁存姢" :visible.sync="propdialog" width="500px" append-to-body></el-dialog>
+  </div>
+</template>
+<script>
+import _ from 'lodash';
+import jianqianwenzhen from "@/components/jianqianwenzhen";
+import Packages from "@/components/Packages";
+import Prescription from "@/components/Prescription";
+import proposal from "@/components/proposal";
+import createproposal from "@/components/createproposal";
+import {
+  getcheckList,
+  getTjdetailList,
+  getupdateCheckType,
+  getupdateCheckTypeHuaYan,
+  getModifiedState,
+  getfiedState,
+  getState,
+  getforceIn,
+  gettoPdf,
+  getModified,
+  isPdfOrJimu,
+  addOrder,
+  addOrder1,
+  getFcList,
+  UpdFcPro,
+  huiFuyichangxiangmu,
+  hfbt,
+} from "@/api/doctor/checkAll";
+import { getInfoById } from "@/api/hosp/history";
+import { getInfo } from "@/api/login";
+import { getCompany, queryCompany } from "@/api/team/tuanti";
+import { reportHistory, yichang, shanchu } from "@/api/doctor/check";
+import { getPdf, revoke } from "@/api/hosp/order";
+import { cSWebGetPro,huifu,} from "@/api/doctor/examination";
+import ViewPdf from "@/components/ViewPdf";
+import Historicalreport from "@/components/Historicalreport";
+import { getDicts } from "@/api/system/dict/data";
+import { getTjYxjcList } from "@/api/system/package";
+import { getNewDateList } from "@/api/hosp/order";
+import { getConfigKey } from "@/api/system/config";
+import moment from "moment";
+import { listAdvicerules } from "@/api/hosp/advicerules";
+
+export default {
+  components: {
+    ViewPdf,
+    Historicalreport,
+    jianqianwenzhen,
+    Packages,
+    proposal,
+    createproposal,
+    Prescription,
+  },
+  dicts: [
+    "dict_team",
+    "dict_tjtype",
+    "sys_user_sex",
+    "sys_yes_no",
+    "tj_result_type",
+    "lj_positive",
+    "tj_work",
+    "tj_work_status",
+    "tj_smoking_pinlv",
+    "tj_work",
+  ],
+  name: "checkAll",
+  data() {
+    return {
+      sfsjsh: '', // 鏄惁涓夌骇瀹℃牳
+      zhiyeJl: '', // 鍒濆鍖栨鏌ョ粨璁轰负绌�
+      zhiyeJg: '', // 鍒濆鍖栦綋妫�缁撴灉涓洪粯璁ゅ��
+      selectedAdvice: null,
+      activeAdviceIndex: 0,
+      gotyval: null,
+      advicerulesList: [],
+      xmChange: [],
+      showjianyi: false,
+      piliang: false,
+      isLoading: false,
+      adviceLoading: false,
+      adviceEmptyText: '鏆傛棤鏁版嵁',
+      total1: 0,
+      forms: {
+        pacName: ""
+      },
+      xmopen: false,
+      datasList: [],
+      queryParams1: {
+        pageNum: 1,
+        pageSize: 10,
+        zyzd: '',
+      },
+      adviceCache: new Map(),
+      addNewDialogVisible: false,
+      newItem: {
+        parentName: '',
+        jcxm: '',
+        jcjg: '',
+        ckfw: '',
+        dw: '',
+        map: [{ bt: '', nr: '' }]
+      },
+      projectCategories: [],
+      emptyAdvice: {
+        bt: "",
+        nr: "",
+      },
+      initialTotalCheckAdvice: "",
+      initialState: "",
+      preObj: {},
+      baogao: [],
+      flags: false,
+      jianqianwenzhendata: [],
+      jianqians: false,
+      sex: true,
+      activeName: "1",
+      hosproy: true,
+      remarks: "",
+      remark: "",
+      creatobj: {},
+      propdialog: false,
+      proIds: "",
+      cusobj: {},
+      xiaojie: "",
+      isdisabled: false,
+      src: "",
+      url: "",
+      userId: "",
+      flag: true,
+      bill: null,
+      numberList: [],
+      reportHistorydata: [],
+      dialogVisible: false,
+      pickerOptions: {
+        shortcuts: [
+          {
+            text: "鏈�杩戜竴鍛�",
+            onClick(picker) {
+              const end = new Date();
+              const start = new Date();
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+              picker.$emit("pick", [start, end]);
+            },
+          },
+          {
+            text: "鏈�杩戜竴涓湀",
+            onClick(picker) {
+              const end = new Date();
+              const start = new Date();
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+              picker.$emit("pick", [start, end]);
+            },
+          },
+          {
+            text: "鏈�杩戜笁涓湀",
+            onClick(picker) {
+              const end = new Date();
+              const start = new Date();
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+              picker.$emit("pick", [start, end]);
+            },
+          },
+        ],
+      },
+      msgtuwen: "",
+      msgjianqian: "",
+      msgkcf: "",
+      checkList: [],
+      tjStatus: "0",
+      tjproject: "0",
+      total: 0,
+      CompanyList: [],
+      Testitems: [],
+      CheckBox: {},
+      startTime: [],
+      isCollapsed: 0,
+      textarea1: "",
+      loading: true,
+      selectLettercurrent: " ",
+      drawer: false,
+      tableAll: {},
+      tjNumber: "",
+      DeptadviceAll: [],
+      MsgId: "",
+      Deptobj: "",
+      changedate: [],
+      dataText: [],
+      status: {},
+      queryParams: {
+        page: 1,
+        pageSize: 10,
+        tjNumber: "",
+        beginTime: null,
+        endTime: null,
+        compId: null,
+        name: null,
+        checkStatus: null,
+        shys: null,
+        tjCategory: null
+      },
+      formobj: {},
+      yichangList: [],
+      fcList: [],
+      statusList: [],
+      queryParam: {
+        pageNum: 1,
+        pageSize: 10,
+        company: undefined,
+        companyId: undefined,
+        pacId: 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,
+      },
+      status1: 0,
+      viewportHeight: 0,
+      expends: [],
+    };
+  },
+
+  created() {
+    console.log(this.dict.type.dict_tjtype, "鑱屼笟浣撴");
+    this.getConfigKey();
+    this.getdate();
+  },
+  mounted() {
+    this.$nextTick(() => {
+      this.$refs.inputName.focus();
+      this.viewportHeight = window.innerHeight || document.documentElement.clientHeight;
+    });
+  },
+
+  methods: {
+    // 鎵撳紑寤鸿閫夋嫨寮圭獥
+    tan(event) {
+      this.activeAdviceIndex = event.target.closest('.advice-group')
+        ? Array.from(event.target.closest('.el-form').querySelectorAll('.advice-group'))
+          .indexOf(event.target.closest('.advice-group'))
+        : 0;
+      this.queryParams1.pageNum = 1;
+      this.queryParams1.pageSize = 10;
+      this.queryParams1.zyzd = '';
+      this.selectedAdvice = null;
+      this.advicerulesList = [];
+      this.total1 = 0;
+      this.adviceCache.clear();
+      this.filterAdvices();
+      this.showjianyi = true;
+    },
+
+    // 绛涢�夊揩鎹峰缓璁紙闃叉姈 800ms锛屽甫缂撳瓨鍜屽姞杞界姸鎬侊級
+    filterAdvices: _.debounce(function (resetPage = false) {
+      if (resetPage) {
+        this.queryParams1.pageNum = 1;
+      }
+
+      const cacheKey = `${this.queryParams1.zyzd || ''}_${this.queryParams1.pageNum}_${this.queryParams1.pageSize}`;
+
+      if (this.adviceCache.has(cacheKey)) {
+        const cachedData = this.adviceCache.get(cacheKey);
+        this.advicerulesList = cachedData.rows;
+        this.total1 = cachedData.total;
+        this.adviceEmptyText = this.advicerulesList.length === 0 ? '鏆傛棤鍖归厤鐨勫缓璁�' : '鏆傛棤鏁版嵁';
+        return;
+      }
+
+      this.adviceLoading = true;
+      this.adviceEmptyText = '鍔犺浇涓�...';
+
+      listAdvicerules(this.queryParams1)
+        .then((response) => {
+          this.advicerulesList = response.rows || [];
+          this.total1 = response.total || 0;
+
+          this.adviceCache.set(cacheKey, {
+            rows: this.advicerulesList,
+            total: this.total1,
+          });
+
+          this.adviceEmptyText = this.advicerulesList.length === 0 ? '鏆傛棤鍖归厤鐨勫缓璁�' : '鏆傛棤鏁版嵁';
+        })
+        .catch((error) => {
+          console.error('绛涢�夊揩鎹峰缓璁け璐�:', error);
+          this.advicerulesList = [];
+          this.total1 = 0;
+          this.adviceEmptyText = '鍔犺浇澶辫触锛岃绋嶅悗閲嶈瘯';
+          this.$message.error('鍔犺浇寤鸿澶辫触锛岃妫�鏌ョ綉缁滃悗閲嶈瘯');
+        })
+        .finally(() => {
+          this.adviceLoading = false;
+        });
+    }, 800),
+
+    handleCurrentChangeAdvice(currentRow) {
+      this.selectedAdvice = currentRow;
+    },
+
+
+    toggleCollapse3() {
+      this.isCollapsed = 0;
+    },
+    toggleCollapse() {
+      this.isCollapsed = 1;
+    },
+
+    applySelectedAdvice() {
+      if (this.selectedAdvice) {
+        this.$set(this.newItem.map, this.activeAdviceIndex, {
+          bt: this.selectedAdvice.jymc,
+          nr: this.selectedAdvice.jynr,
+        });
+        this.showjianyi = false;
+        this.selectedAdvice = null;
+      } else {
+        this.$message.warning('璇峰厛閫夋嫨涓�鏉″缓璁�');
+      }
+    },
+
+    cancelAdviceDialog() {
+      this.showjianyi = false;
+      this.selectedAdvice = null;
+      this.queryParams1.zyzd = '';
+      this.queryParams1.pageNum = 1;
+      this.advicerulesList = [];
+      this.total1 = 0;
+      this.adviceCache.clear();
+    },
+
+    handleCloseAdviceDialog(done) {
+      if (this.selectedAdvice) {
+        this.$confirm('鎮ㄥ凡閫夋嫨涓�鏉″缓璁紝纭畾瑕佸叧闂悧锛�', '鎻愮ず', {
+          confirmButtonText: '纭畾',
+          cancelButtonText: '鍙栨秷',
+          type: 'warning',
+        })
+          .then(() => {
+            this.cancelAdviceDialog();
+            done();
+          })
+          .catch(() => { });
+      } else {
+        this.cancelAdviceDialog();
+        done();
+      }
+    },
+
+    handleAdviceBlur(row, index) {
+      let advicesToSubmit = [];
+
+      if (index === -1) {
+        if (this.emptyAdvice.bt || this.emptyAdvice.nr) {
+          advicesToSubmit = [{ bt: this.emptyAdvice.bt || '', nr: this.emptyAdvice.nr || '' }];
+          this.$set(row, 'advices', advicesToSubmit);
+        }
+      } else {
+        advicesToSubmit = row.advices;
+      }
+
+      if (!advicesToSubmit || advicesToSubmit.length === 0) {
+        return;
+      }
+
+      const parentItem = this.yichangList.find(item =>
+        item.sone.some(soneItem => soneItem.orderDetailId === row.orderDetailId)
+      );
+
+      if (!parentItem) {
+        this.$message.error('鏈壘鍒板搴旂殑鐖剁骇椤圭洰');
+        return;
+      }
+
+      const data = {
+        tjh: this.tableAll.tjNumber,
+        parentName: parentItem.proName,
+        jcxm: row.proName,
+        jcjg: row.proResult,
+        ckfw: row.stanId,
+        dw: row.proAdvice,
+        map: advicesToSubmit,
+        jyjc: parentItem.jyjc,
+        id: row.orderDetailId,
+      };
+
+      addOrder1(data).then((res) => {
+        if (res.code === 200) {
+          // 鎴愬姛鏇存柊寤鸿
+        } else {
+          this.$message.error('寤鸿鏇存柊澶辫触锛�' + (res.msg || '鏈煡閿欒'));
+        }
+      }).catch((error) => {
+        console.error('寤鸿鏇存柊澶辫触:', error);
+        this.$message.error('寤鸿鏇存柊澶辫触锛�' + error.message);
+      });
+    },
+
+    handleSelectionChange(selection) {
+      console.log(selection);
+    },
+
+    submitNewItem() {
+      const data = {
+        tjh: this.tableAll.tjNumber,
+        parentName: this.newItem.parentName,
+        jcxm: this.newItem.jcxm,
+        jcjg: this.newItem.jcjg,
+        ckfw: this.newItem.ckfw,
+        dw: this.newItem.dw,
+        map: this.newItem.map,
+        jyjc: this.newItem.ckfw ? "0" : "1"
+      };
+
+      addOrder1(data).then((res) => {
+        if (res.code === 200) {
+          this.$message.success('鏂板寮傚父缁撴灉鎴愬姛');
+          this.addNewDialogVisible = false;
+          this.yichangjieguo();
+        } else {
+          this.$message.error('鏂板澶辫触');
+        }
+      }).catch((error) => {
+        console.error('鏂板寮傚父缁撴灉澶辫触:', error);
+        this.$message.error('鏂板寮傚父缁撴灉澶辫触');
+      });
+    },
+
+    addnew() {
+      this.newItem = {
+        parentName: '',
+        jcxm: '',
+        jcjg: '',
+        ckfw: '',
+        dw: '',
+        map: [{ bt: '', nr: '' }]
+      };
+      this.addNewDialogVisible = true;
+
+      cSWebGetPro(this.tjNumber).then((res) => {
+        if (res.data && Array.isArray(res.data)) {
+          this.projectCategories = res.data;
+        } else {
+          this.$message.warning('鏈幏鍙栧埌椤圭洰鍒嗙被鏁版嵁');
+          this.projectCategories = [];
+        }
+      }).catch((error) => {
+        console.error('鑾峰彇椤圭洰鍒嗙被澶辫触:', error);
+        this.$message.error('鑾峰彇椤圭洰鍒嗙被澶辫触');
+        this.projectCategories = [];
+      });
+    },
+
+    handleCategoryChange(value) {
+      if (value) {
+        this.newItem.jcxm = value;
+      }
+    },
+
+    change(val) {
+      console.log('閫変腑鐨勫�兼槸锛�', val);
+    },
+
+    addAdvice() {
+      this.newItem.map.push({ bt: '', nr: '' });
+    },
+
+    removeAdvice(index) {
+      if (this.newItem.map.length > 1) {
+        this.newItem.map.splice(index, 1);
+      } else {
+        this.$message.warning('鑷冲皯淇濈暀涓�缁勫缓璁�');
+      }
+    },
+
+    shanchu(row) {
+      this.isdisabled = true;
+
+      shanchu({
+        id: row.orderDetailId,
+      }).then((res) => {
+        console.log(res, 1111);
+
+        if (res.code === 200) {
+          const parentItem = this.yichangList.find(item =>
+            item.sone.some(soneItem => soneItem.orderDetailId === row.orderDetailId)
+          );
+
+          if (parentItem) {
+            const index = parentItem.sone.findIndex(item => item.orderDetailId === row.orderDetailId);
+            if (index > -1) {
+              parentItem.sone.splice(index, 1);
+
+              if (parentItem.sone.length === 0) {
+                const parentIndex = this.yichangList.indexOf(parentItem);
+                if (parentIndex > -1) {
+                  this.yichangList.splice(parentIndex, 1);
+                }
+              }
+
+              this.getExpends();
+              this.$forceUpdate();
+              this.$message.success('鍒犻櫎鎴愬姛');
+            } else {
+              this.$message.error('鏈壘鍒拌鍒犻櫎鐨勫瓙椤�');
+            }
+          } else {
+            this.$message.error('鏈壘鍒拌鍒犻櫎鐨勭埗椤�');
+          }
+        } else {
+          this.$message.error('鍚庣鍒犻櫎澶辫触锛�' + (res.msg || '鏈煡閿欒'));
+        }
+      }).catch((error) => {
+        console.error('鍒犻櫎澶辫触:', error);
+        this.$message.error('鍒犻櫎鎿嶄綔澶辫触锛�' + error.message);
+      }).finally(() => {
+        this.isdisabled = false;
+      });
+    },
+
+    handleQuery() {
+      this.xmopen = true;
+      let data = {
+        tjNum: this.tjNumber,
+        type: 0
+      };
+      getFcList(data).then(res => {
+        this.datasList = res.data;
+      });
+    },
+
+    handleaddClick() {
+      console.log(this.xmChange);
+      let data = {
+        orderId: this.xmChange[0].orderId,
+        data: [{
+          proId: this.xmChange[0].proId,
+          type: 1
+        }]
+      };
+      UpdFcPro(data).then(res => { });
+    },
+
+    handledeleteClick() {
+      UpdFcPro(data).then(res => { });
+    },
+
+    handlexmChange(selection) {
+      this.xmChange = [];
+      this.xmChange = selection;
+      if (selection.length > 1) {
+        let del_row = selection.shift();
+        this.$refs.elTable.toggleRowSelection(del_row, false);
+      }
+    },
+
+    submitFormxm() {
+      this.xmopen = false;
+    },
+
+    cancels() {
+      this.xmopen = false;
+      this.xmChange = [];
+    },
+
+    getExpends() {
+      this.expends = this.yichangList.flatMap(item =>
+        item.sone.map(soneItem => soneItem.orderDetailId)
+      );
+    },
+
+    getConfigKey() {
+      getConfigKey("sfkqtwbg").then((res) => {
+        this.msgtuwen = res.msg;
+      });
+      getConfigKey("sfkqjqwz").then((res) => {
+        this.msgjianqian = res.msg;
+      });
+      getConfigKey("kcf").then((res) => {
+        this.msgkcf = res.msg;
+      });
+      getConfigKey("sfsjsh").then((res) => {
+        this.sfsjsh = res.msg;
+      });
+    },
+
+    getRowKeys(row) {
+      return row.orderDetailId;
+    },
+
+    xiangmuqingkuang() {
+      this.loading = true;
+      cSWebGetPro(this.tjNumber)
+        .then((res) => {
+          this.status1 = 1;
+          this.statusList = res.data;
+          if (this.statusList.length == 0) {
+            this.$message.success("鏆傛棤椤圭洰鎯呭喌");
+          }
+        })
+        .catch((error) => {
+          console.error('鑾峰彇椤圭洰鎯呭喌澶辫触:', error);
+          this.$message.error('鑾峰彇椤圭洰鎯呭喌澶辫触');
+        })
+        .finally(() => {
+          this.loading = false;
+        });
+    },
+
+    guanbi() {
+      this.drawer = false;
+    },
+
+    yichangjieguo() {
+      this.isLoading = true
+      this.status1 = 0;
+      this.yichangList = []
+      yichang({
+        tjNum: this.tjNumber,
+      })
+        .then((res) => {
+          this.isLoading = false
+          this.yichangList = res.data;
+          this.yichangList.forEach((item) => {
+            item.sone.forEach((soneItem) => {
+              if (!Array.isArray(soneItem.advices) || soneItem.advices.length === 0) {
+                soneItem.advices = [{ bt: "", nr: "" }];
+              }
+            });
+          });
+          if (!this.yichangList) {
+            this.$message.warning("鏆傛棤寮傚父鎶ュ憡");
+          }
+        })
+        .catch((error) => {
+          this.isLoading = false
+          console.error('鑾峰彇寮傚父缁撴灉澶辫触:', error);
+          this.$message.error('鑾峰彇寮傚父缁撴灉澶辫触');
+        })
+        .finally(() => {
+          this.isLoading = false
+          this.loading = false;
+        });
+    },
+
+    fuchaxiangmu() {
+      this.loading = true;
+      this.status1 = 2;
+      let data = {
+        tjNum: this.tjNumber,
+        type: 1
+      };
+      getFcList(data)
+        .then((res) => {
+          this.fcList = res.data;
+        })
+        .catch((error) => {
+          console.error('鑾峰彇澶嶆煡椤圭洰澶辫触:', error);
+          this.$message.error('鑾峰彇澶嶆煡椤圭洰澶辫触');
+        })
+        .finally(() => {
+          this.loading = false;
+        });
+    },
+
+    getdate() {
+      getNewDateList().then((res) => {
+        this.getList();
+      });
+    },
+
+    getNowTime() {
+      var curDate = new Date().getTime();
+      var dayNum = 7 * 24 * 3600 * 1000;
+      var threeDays = curDate - dayNum;
+      var sDay = this.getLocalTime(threeDays);
+      var end = this.getLocalTime(curDate);
+      this.startTime = [sDay, end];
+    },
+
+    add0(m) {
+      return m < 10 ? "0" + m : m;
+    },
+
+    getLocalTime(nS) {
+      var time = new Date(nS);
+      var y = time.getFullYear();
+      var m = time.getMonth() + 1;
+      var d = time.getDate();
+      var h = time.getHours();
+      var mm = time.getMinutes();
+      return (
+        y +
+        "-" +
+        this.add0(m) +
+        "-" +
+        this.add0(d) +
+        " " +
+        this.add0(h) +
+        ":" +
+        this.add0(mm)
+      );
+    },
+
+    jianqian() {
+      this.flags = true;
+      this.jianqians = true;
+      let tjNumber = this.tableAll.tjNumber;
+      this.jianqianwenzhendata.push(tjNumber);
+    },
+
+    getList() {
+      this.loading = true;
+      this.queryParams.compId = this.CheckBox.drugManufacturerId;
+      this.queryParams.checkStatus = this.tjStatus;
+      if (this.startTime) {
+        this.queryParams.beginTime = this.startTime[0];
+        this.queryParams.endTime = this.startTime[1];
+      } else {
+        this.queryParams.beginTime = null;
+        this.queryParams.endTime = null;
+      }
+
+      getcheckList(this.queryParams).then((response) => {
+        if (response.code == 200) {
+          this.loading = false;
+          if (response.data) {
+            if (response.data.date) {
+              this.checkList = response.data.date;
+            } else {
+              this.checkList = response.data.customers;
+            }
+            this.total = response.data.total;
+          } else {
+            this.checkList = [];
+          }
+        }
+      });
+
+      getCompany(this.queryParam).then((response) => {
+        this.CompanyList = response.data;
+        this.loading = false;
+      });
+    },
+
+    viewReport(row) {
+      const tjNumber = row.tjNumber;
+      isPdfOrJimu(tjNumber).then((response) => {
+        if (response.data.flag == "0") {
+          const flag = true;
+          getPdf(tjNumber, flag).then((response) => {
+            if (response.size === 0) {
+              const loading = this.$loading({
+                lock: true,
+                text: "Loading",
+                spinner: "el-icon-loading",
+                background: "rgba(0, 0, 0, 0.7)",
+              });
+              setTimeout(() => {
+                loading.close();
+              }, 3000);
+              this.$message({
+                message: "璇锋挙鍥為噸鏂扮敓鎴愭姤鍛�",
+                type: "error"
+              });
+            } else {
+              this.dialogVisible = true;
+              this.url = window.webkitURL.createObjectURL(response);
+            }
+          });
+        } else {
+          let url = response.data.url;
+          const params = { url };
+          this.$tab.openPage("鍋ュ悍璇佹鏌ヨ〃", "/report/zongjianjiankangzheng", params);
+        }
+      });
+    },
+
+    Graphicreport() {
+      this.loading = true;
+      let dictType = "dict_ageunit";
+      getDicts(dictType)
+        .then((res) => {
+          if (res.code == 200) {
+            res.data.forEach((item) => {
+              if (this.tableAll.age_unit == item.dictValue) {
+                this.tableAll.age_unit = item.dictLabel;
+              }
+            });
+            let dictTypes = "sys_user_sex";
+            return getDicts(dictTypes);
+          } else {
+            throw new Error('鑾峰彇骞撮緞鍗曚綅瀛楀吀澶辫触');
+          }
+        })
+        .then((res) => {
+          if (res.code == 200) {
+            res.data.forEach((item) => {
+              if (this.tableAll.cusSex == item.dictValue) {
+                this.tableAll.cusSex = item.dictLabel;
+              }
+            });
+            let data = {
+              patname: this.tableAll.cusName,
+              sex: this.tableAll.cusSex,
+              patage: this.tableAll.age,
+              patagename: this.tableAll.age_unit,
+              patbirth: this.tableAll.cusBrithday,
+            };
+            return getTjYxjcList(data);
+          } else {
+            throw new Error('鑾峰彇鎬у埆瀛楀吀澶辫触');
+          }
+        })
+        .then((res) => {
+          this.baogao = res.data;
+          this.$refs.bbb.open = true;
+          this.$refs.bbb.title = "鎶ュ憡瀛楀吀";
+        })
+        .catch((error) => {
+          console.error('鐢熸垚鍥炬枃鎶ュ憡澶辫触:', error);
+          this.$message.error('鐢熸垚鍥炬枃鎶ュ憡澶辫触');
+        })
+        .finally(() => {
+          this.loading = false;
+        });
+    },
+
+    historicalreport() {
+      this.loading = true;
+      let data = {
+        cusId: this.tableAll.cusId,
+      };
+      reportHistory(data)
+        .then((res) => {
+          if (res.data[0] != null) {
+            this.reportHistorydata = res.data;
+          } else {
+            this.reportHistorydata = [];
+          }
+        })
+        .catch((error) => {
+          console.error('鑾峰彇鍘嗗彶鎶ュ憡澶辫触:', error);
+          this.$message.error('鑾峰彇鍘嗗彶鎶ュ憡澶辫触');
+        })
+        .finally(() => {
+          this.loading = false;
+        });
+    },
+
+    medicalhistory() {
+      this.loading = true;
+      this.status1 = 3;
+      let tjNumber = this.tableAll.tjNumber;
+      getInfoById(tjNumber)
+        .then((response) => {
+          this.formobj = response.data;
+          if (this.formobj.xiyan == null) {
+            this.formobj.xiyan = "1";
+          }
+          if (this.formobj.xiyanpinlv == null) {
+            this.formobj.xiyanpinlv = "0";
+          }
+          if (this.formobj.xiyanyear == null) {
+            this.formobj.xiyanyear = "0";
+          }
+          if (this.formobj.yinjiu == null) {
+            this.formobj.yinjiu = "1";
+          }
+          if (this.formobj.yinjiupinlv == null) {
+            this.formobj.yinjiupinlv = "0";
+          }
+          if (this.formobj.yinjiuyear == null) {
+            this.formobj.yinjiuyear = "0";
+          }
+        })
+        .catch((error) => {
+          console.error('鑾峰彇鑱屼笟鐥呭彶澶辫触:', error);
+          this.$message.error('鑾峰彇鑱屼笟鐥呭彶澶辫触');
+        })
+        .finally(() => {
+          this.loading = false;
+        });
+    },
+
+    downLoadFileImg(row) {
+      const tjNumber = row.tjNumber;
+      const flag = true;
+      getPdf(tjNumber, flag).then((response) => {
+        this.url = window.webkitURL.createObjectURL(response);
+      });
+    },
+
+    rowClick(row) {
+      if (row.tjNumber) {
+        this.preObj = row;
+      } else {
+        this.preObj = this.tableAll;
+      }
+      this.$refs.Pre.open = true;
+      this.$refs.Pre.title = "澶勬柟";
+    },
+
+    radioChange(value) {
+      this.loading = true;
+      if(value == "0" && this.gotyval == "01"){
+        this.piliang = true
+      }else{
+        this.piliang = false
+      }
+      this.queryParams.checkStatus = value;
+      this.queryParams.page = 1;
+      this.queryParams.pageSize = 10;
+      getcheckList(this.queryParams).then((response) => {
+        if (response.data) {
+          this.checkList = response.data.customers;
+          this.total = response.data.total;
+        } else {
+          this.checkList = [];
+        }
+        this.loading = false;
+      });
+    },
+
+    propoChange() {
+      this.cusobj = { sex: this.tableAll.cusSex, isZj: 0 };
+      this.$refs.proposal.open = true;
+      this.$refs.proposal.title = "寤鸿鏂规";
+    },
+
+    eventchange(data) {
+      this.dataText = data;
+      if (this.textarea1 == null) {
+        this.textarea1 = "";
+      }
+      data.forEach((item) => {
+        if (item.advice) {
+          this.textarea1 += item.advice;
+        } else {
+          this.textarea1 += item.jynr;
+        }
+      });
+    },
+
+    proposalChange() {
+      if (this.textarea1) {
+        this.creatobj = { proParentList: this.textarea1, isZj: 0 };
+        this.$refs.createproposal.open = true;
+        this.$refs.createproposal.title = "甯哥敤寤鸿缁存姢";
+      } else {
+        this.$message({
+          type: "warning",
+          message: "璇峰厛濉啓鎬绘寤鸿",
+        });
+      }
+    },
+
+    radiotjprojectChange() {
+      if (this.tjproject == "0") {
+        getupdateCheckType(this.tjNumber).then((response) => {
+          this.changedate = response.data;
+          this.changedate.forEach((item) => {
+            this.textarea1 = item.checkAdvice;
+          });
+          if (this.changedate) {
+            for (let i = 0; i < this.changedate.length; i++) {
+              this.remark = this.changedate[i].remark;
+            }
+          } else {
+            this.$message({
+              type: "warning",
+              message: "璇ュ鎴锋病鏈変綋妫�椤圭洰鏁版嵁",
+            });
+          }
+        });
+      } else if (this.tjproject == "1") {
+        getupdateCheckTypeHuaYan(this.tjNumber).then((res) => {
+          if (res.data) {
+            this.changedate = res.data;
+            this.changedate.forEach((item) => {
+              this.textarea1 = item.checkAdvice;
+            });
+            if (this.changedate) {
+              for (let i = 0; i < this.changedate.length; i++) {
+                this.remark = this.changedate[i].remark;
+              }
+            }
+          } else {
+            this.$message({
+              type: "warning",
+              message: "璇ュ鎴锋病鏈夊寲楠岄」鐩暟鎹�",
+            });
+          }
+        });
+      }
+    },
+
+    getRemoteData(query) {
+      if (query) {
+        let compName = query;
+        queryCompany(compName).then((response) => {
+          this.CompanyList = response.data;
+        });
+      }
+    },
+
+    searchSelect(val) {
+      this.CheckBox = val;
+    },
+
+    searchCategory(val){
+      this.gotyval = val
+      if(val == "01" && this.tjStatus == "0"){
+          this.piliang = true
+      }else{
+         this.piliang = false
+      }
+    },
+
+    handleshenhe(){
+
+    },
+
+    dateChangebirthday1(val) {
+      this.startTime = val;
+    },
+
+    hb() {
+      if (this.queryParams.tjNumber != "") {
+        this.submitForm();
+      }
+    },
+
+    submitForm() {
+      this.loading = true;
+      this.queryParams.compId = this.CheckBox.drugManufacturerId;
+      this.queryParams.checkStatus = this.tjStatus;
+      if (this.startTime) {
+        this.queryParams.beginTime = this.startTime[0];
+        this.queryParams.endTime = this.startTime[1];
+      } else {
+        this.queryParams.beginTime = null;
+        this.queryParams.endTime = null;
+      }
+
+      getcheckList(this.queryParams).then((response) => {
+        if (response.code == 200) {
+          this.loading = false;
+          if (response.data.customers != null) {
+            this.checkList = response.data.customers;
+            this.checkList.forEach((item) => {
+              this.tjStatus = item.tjStatus.toString();
+            });
+            this.total = response.data.total;
+          } else {
+            this.checkList = [];
+          }
+        }
+      });
+    },
+
+    huifu(row){
+      const tjNUm = this.tjNumber;
+      const proId = row.proId;
+        huifu(tjNUm, proId).then((res) => {
+          if (res.code == 200) {
+           this.xiangmuqingkuang()
+          }
+        });
+    },
+
+    yichanghuifu() {
+      this.loading = true;
+      let tjNum = this.tjNumber;
+      huiFuyichangxiangmu(tjNum).then((res) => {
+        this.status1 = 4;
+        this.ychfList = res.data;
+        if(this.ychfList.length == 0){
+          this.message.success("鏆傛棤寮傚父鎭㈠椤圭洰")
+        }
+      })
+      .catch((error)=>{
+        console.error("鑾峰彇椤圭洰澶辫触锛�",error);
+        
+        this.$message.error("鑾峰彇椤圭洰澶辫触")
+      })
+      .finally(()=>{
+        this.loading = false;
+      })
+    },
+
+    hfyc(id) {
+      this.$confirm("纭瑕佹仮澶嶈椤瑰悧锛�", "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning",
+      })
+        .then(() => {
+          // 鐢ㄦ埛纭鍚庢墽琛屾帴鍙�
+          hfbt({ id })
+            .then((res) => {
+              this.$message.success("鎭㈠鎴愬姛");
+              this.yichanghuifu(); // 鎭㈠鍚庡埛鏂板垪琛�
+            })
+            .catch((err) => {
+              console.error(err);
+              this.$message.error("鎭㈠澶辫触");
+            });
+        })
+        .catch(() => {
+          // 鐢ㄦ埛鍙栨秷浜嗘搷浣�
+          this.$message.info("宸插彇娑堟仮澶�");
+        });
+    },
+
+    resetQuery() {
+      this.startTime = [];
+      this.queryParams = {
+        page: 1,
+        pageSize: 10,
+        tjNumber: "",
+        beginTime: null,
+        endTime: null,
+        compId: null,
+        name: null,
+        checkStatus: null,
+        shys: null,
+        tjCategory: null
+      },
+        this.resetForm("tableList");
+      this.submitForm();
+    },
+
+    changRed({ row }) {
+      if (row.ycbz != "" && row.ycbz != null) {
+        return {
+          color: "red",
+        };
+      }
+    },
+
+    red() {
+      return {
+        color: "red",
+      };
+    },
+
+    redxiangmu({ row }) {
+      if (row.type != 1) {
+        return {
+          backgroundColor: "#AAD8DF !important",
+        };
+      }
+    },
+
+    handleCurrentChange(val) {
+      console.log(val)
+      if (val != null) {
+        this.handleClick(val);
+      }
+    },
+    qingkong() {
+      this.tableAll = {}
+      this.changedate = []
+      this.yichangList = []
+      this.statusList = []
+      this.xmChange = []
+      this.fcList = []
+      this.formobj = {}
+    },
+
+    handleClick(row) {
+      this.qingkong()
+      this.$refs.Pre.open = false;
+      this.tableAll = row;
+      this.tjproject = "0";
+      this.tjNumber = this.tableAll.tjNumber;
+
+      getState(this.tjNumber).then((res) => {
+        this.status = res.data;
+        if (this.status) {
+          if (this.status.status === "1") {
+            this.yichangjieguo();
+            getInfo().then((response) => {
+              this.userId = response.user.userId;
+              if (this.userId) {
+                let data = {
+                  userId: this.userId,
+                  tjNumber: this.tjNumber,
+                  state: 0,
+                };
+                getModifiedState(data).then((res) => {
+                  this.MsgId = res.msg;
+                  this.isLoading = true
+                  this.drawer = true;
+                  getupdateCheckType(this.tjNumber).then((response) => {
+                    this.isLoading = false
+                    this.changedate = response.data;
+                    if (this.changedate) {
+                      this.changedate.forEach((item) => {
+                        this.textarea1 = item.checkAdvice || "";
+                      });
+                      this.initialTotalCheckAdvice = this.textarea1;
+                      this.initialState = JSON.parse(JSON.stringify(this.changedate));
+                      for (let i = 0; i < this.changedate.length; i++) {
+                        this.remark = this.changedate[i].remark;
+                      }
+                      // 鍥炴樉 zhiyeJl 鍜� zhiyeJg
+                      this.zhiyeJl = this.changedate[0].zhiyejl || '';
+                      this.zhiyeJg = this.changedate[0].zhiyejg || '鏈彂鐜扮洰鏍囨�х柧鐥�';
+                    } else {
+                      this.$message({
+                        type: "warning",
+                        message: "璇ュ鎴锋病鏈変綋妫�椤圭洰鏁版嵁",
+                      });
+                      // 濡傛灉娌℃湁鏁版嵁锛屾竻绌哄瓧娈�
+                      this.zhiyeJl = '';
+                      this.zhiyeJg = '鏈彂鐜扮洰鏍囨�х柧鐥�';
+                    }
+                  });
+                });
+              }
+            });
+
+          } else {
+            this.$confirm("" + this.status.name + "姝e湪淇敼璇ヤ俊鎭�, 鏄惁寮哄埗杩涘幓?", "鎻愮ず", {
+              confirmButtonText: "鏄�",
+              cancelButtonText: "鍚�",
+              type: "warning",
+            })
+              .then(() => {
+                this.yichangjieguo();
+                getInfo().then((response) => {
+                  this.userId = response.user.userId;
+                  if (this.userId) {
+                    let data = {
+                      userId: this.userId,
+                      tjNumber: this.tjNumber,
+                      state: 0,
+                    };
+                    getforceIn(data).then((res) => {
+                      this.MsgId = res.msg;
+                      this.isLoading = true
+                      this.drawer = true;
+                      getupdateCheckType(this.tjNumber).then((response) => {
+                        this.isLoading = false
+                        this.changedate = response.data;
+                        if (this.changedate) {
+                          for (let i = 0; i < this.changedate.length; i++) {
+                            this.remark = this.changedate[i].remark;
+                          }
+                          this.initialState = JSON.parse(JSON.stringify(this.changedate));
+                          this.changedate.forEach((item) => {
+                            this.textarea1 = item.checkAdvice || "";
+                          });
+                          // 鍥炴樉 zhiyeJl 鍜� zhiyeJg
+                          this.zhiyeJl = this.changedate[0].zhiyejl || '';
+                          this.zhiyeJg = this.changedate[0].zhiyejg || '鏈彂鐜扮洰鏍囨�х柧鐥�';
+                        } else {
+                          this.$message({
+                            type: "warning",
+                            message: "璇ュ鎴锋病鏈変綋妫�椤圭洰鏁版嵁",
+                          });
+                          // 濡傛灉娌℃湁鏁版嵁锛屾竻绌哄瓧娈�
+                          this.zhiyeJl = '';
+                          this.zhiyeJg = '鏈彂鐜扮洰鏍囨�х柧鐥�';
+                        }
+                      });
+                    });
+                  }
+                });
+
+              })
+              .catch(() => {
+                this.$message({
+                  type: "info",
+                  message: "宸插彇娑堣繘鍏�",
+                });
+              });
+          }
+        }
+      });
+    },
+
+    handleClose(done) {
+      if (JSON.stringify(this.initialState) !== JSON.stringify(this.changedate) || this.initialTotalCheckAdvice !== this.textarea1) {
+        this.$confirm("鎮ㄦ湁鏈繚瀛樼殑鏇存敼锛岀‘瀹氳鍏抽棴鍚楋紵", "鎻愮ず", {
+          confirmButtonText: "纭畾",
+          cancelButtonText: "鍙栨秷",
+          type: "warning",
+        })
+          .then(() => {
+            let data = {
+              userId: this.userId,
+              tjNumber: this.tjNumber,
+              state: 1,
+            };
+            getfiedState(data).then((res) => {
+              this.drawer = false;
+              done();
+            });
+          })
+          .catch(() => { });
+      } else {
+        let data = {
+          userId: this.userId,
+          tjNumber: this.tjNumber,
+          state: 1,
+        };
+        getfiedState(data).then((res) => {
+          this.drawer = false;
+          done();
+        });
+      }
+    },
+
+    handleClose1(done) {
+      this.jianqians = false;
+      this.flags = false;
+      done();
+    },
+
+    determine() {
+      let tjNumber = this.tableAll.tjNumber;
+      let tjh = this.tableAll.tjNumber;
+      let advice = this.textarea1;
+      let data = {
+        tjNumber,
+        advice,
+        checkStatus: 1,
+        zhiyeJl: this.zhiyeJl, // 娣诲姞妫�鏌ョ粨璁�
+        zhiyeJg: this.zhiyeJg  // 娣诲姞浣撴缁撴灉
+      };
+      let dataList = this.yichangList
+        .map((item) => {
+          return item.sone.map((soneItem) => ({
+            tjh,
+            parentName: item.proName,
+            jcxm: soneItem.proName,
+            map: soneItem.advices,
+            jyjc: item.jyjc,
+            jcjg: soneItem.proResult,
+            ckfw: soneItem.stanId,
+            dw: soneItem.proAdvice,
+          }));
+        })
+        .flat();
+
+      this.loading = true;
+      getTjdetailList(data)
+        .then((response) => {
+          if (response.code === 200) {
+            this.$modal.msgSuccess("鎻愪氦鎴愬姛");
+            // 娓呯┖瀛楁
+            this.zhiyeJl = '';
+            this.zhiyeJg = '';
+
+            let reportData = {
+              userId: this.userId,
+              tjNumber: tjNumber,
+              state: 1,
+              id: this.MsgId,
+            };
+
+            addOrder(dataList)
+              .then((res) => {
+                if (res.code == 200) {
+                  gettoPdf(tjNumber)
+                    .then((res) => {
+                      this.$modal.msgSuccess(
+                        "宸茬敓鎴愭姤鍛婏紒璇峰墠寰�鎶ュ憡鏍告敹椤甸潰纭锛�"
+                      );
+                    })
+                    .catch(() => {
+                      this.$modal.msgError(
+                        "鎵撳嵃鎶ュ憡澶辫触锛岃鍓嶅線鎶ュ憡鎵撳嵃椤甸潰琛ユ墦鎶ュ憡锛�"
+                      );
+                    });
+                  const statePromise = getfiedState(reportData).then(() => {
+                    this.drawer = false;
+                  });
+                  const updatePromises = this.changedate.map((item) => {
+                    this.proIds = item.parentId;
+                    let remarks = item.remark;
+                    let updateOrderRemarkVos = [
+                      {
+                        tjNumber,
+                        proId: this.proIds.toString(),
+                        remarks,
+                      },
+                    ];
+                    return getModified(updateOrderRemarkVos);
+                  });
+
+                  Promise.all([statePromise, ...updatePromises])
+                    .then(() => {
+                      this.loading = false;
+                      this.queryParams.page = 1;
+                      this.queryParams.pageSize = 10;
+                      this.submitForm();
+                      this.$forceUpdate();
+                    })
+                    .catch((error) => {
+                      this.loading = false;
+                      console.error("鍙戠敓閿欒:", error);
+                    });
+                }
+              })
+              .catch((error) => {
+                this.loading = false;
+                console.error("addOrderPromise 澶辫触:", error);
+              });
+          } else {
+            this.loading = false;
+            this.$modal.msgError("鎻愪氦澶辫触");
+          }
+        })
+        .catch((error) => {
+          this.loading = false;
+          console.error("鎻愪氦璇锋眰澶辫触:", error);
+          this.$modal.msgError("鎻愪氦璇锋眰澶辫触");
+        });
+    },
+
+    getRevoke(row) {
+      this.$confirm("纭鎾ら攢璇ユ姤鍛婂悧锛�", "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning",
+      })
+        .then(() => {
+          revoke(row.tjNumber).then((response) => {
+            if (response.code === 200) {
+              this.submitForm();
+              this.$message.success("鎾ら攢鎴愬姛");
+            } else {
+              this.$message.error("鎾ら攢澶辫触");
+            }
+          });
+        })
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "宸插彇娑堟挙閿�",
+          });
+        });
+    },
+  },
+};
+</script>
+<style scoped lang="scss">
+.mainbox {
+  position: relative;
+}
+
+.btn {
+  margin: 20px 0px;
+}
+
+.btnbox {
+  display: flex;
+  flex-direction: column;
+  gap: 10px;
+  /* 鎸夐挳涔嬮棿鐨勯棿璺� */
+  position: fixed;
+  /* 浣挎暣涓寜閽尯鍩熷浐瀹氬湪椤甸潰 */
+  right: 0;
+  /* 鍥哄畾鍦ㄩ〉闈㈠彸渚� */
+  top: 20%;
+  /* 鍒濆浣嶇疆 */
+  z-index: 10;
+}
+
+/* 姣忎釜鎸夐挳鐨勬牱寮� */
+.btn1 {
+  animation: fadeInUp 0.5s ease-out forwards;
+  /* 鎸夐挳鍔犺浇鏃剁殑娣″叆鍔ㄧ敾 */
+  cursor: pointer;
+  text-align: center;
+}
+
+.vertical-text {
+  writing-mode: vertical-rl;
+  text-orientation: upright;
+}
+
+/* 璁剧疆鍔ㄧ敾鏁堟灉 */
+@keyframes fadeInUp {
+  0% {
+    opacity: 0;
+    transform: translateY(20px) scale(0.5);
+    /* 鍒濆鐘舵�侊細閫忔槑涓旂缉灏� */
+  }
+
+  100% {
+    opacity: 1;
+    transform: translateY(0) scale(1);
+    /* 鏈�缁堢姸鎬侊細瀹屽叏鏄剧ず涓旀甯稿ぇ灏� */
+  }
+}
+
+/* 姣忎釜鎸夐挳鐨勪綅缃拰鍔ㄧ敾寤惰繜 */
+.btnbox>div:nth-child(1) {
+  top: 20%;
+  /* 绗竴涓寜閽殑浣嶇疆 */
+  animation-delay: 0s;
+  /* 鏃犲欢杩� */
+}
+
+.btnbox>div:nth-child(2) {
+  top: 30%;
+  /* 绗簩涓寜閽殑浣嶇疆 */
+  animation-delay: 0.2s;
+}
+
+.btnbox>div:nth-child(3) {
+  top: 40%;
+  /* 绗笁涓寜閽殑浣嶇疆 */
+  animation-delay: 0.4s;
+}
+
+.btnbox>div:nth-child(4) {
+  top: 50%;
+  /* 绗洓涓寜閽殑浣嶇疆 */
+  animation-delay: 0.6s;
+}
+
+.btnbox>div:nth-child(5) {
+  top: 60%;
+  /* 绗簲涓寜閽殑浣嶇疆 */
+  animation-delay: 0.8s;
+}
+
+.btnbox>div:nth-child(6) {
+  top: 70%;
+  /* 绗叚涓寜閽殑浣嶇疆 */
+  animation-delay: 1s;
+}
+
+.main {
+  height: 80vh; // 鏀逛负浣跨敤瑙嗙獥楂樺害
+  min-height: 600px; // 璁剧疆鏈�灏忛珮搴�
+  overflow: auto; // 鏀逛负auto鍏佽婊氬姩
+}
+
+// 浼樺寲婊氬姩鏉℃牱寮�
+.main::-webkit-scrollbar {
+  width: 6px;
+}
+
+.main::-webkit-scrollbar-track {
+  background-color: white;
+  border-radius: 2em;
+}
+
+.main::-webkit-scrollbar-thumb {
+  background-color: #dcdfe6;
+  border-radius: 2em;
+}
+
+::v-deep .el-dialog {
+  margin-top: 5vh !important; // 璋冩暣瀵硅瘽妗嗕綅缃�
+}
+
+::v-deep .el-dialog__header {
+  padding: 8px;
+}
+
+::v-deep .el-dialog__body {
+  padding: 0;
+}
+
+::v-deep .el-button--medium {
+  padding: 10px;
+}
+
+::v-deep .el-dialog__headerbtn {
+  // position: relative;
+  top: 13px;
+}
+
+/* .el-dialog {
+  width: 1264px;
+  height: 800px;
+}
+
+.el-dialog__header {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+}
+
+.el-dialog__body {
+  padding: 0;
+} */
+
+.pag {
+  width: 100%;
+  display: flex;
+  justify-content: center;
+  /* 纭繚鍒嗛〉鍣ㄦ暣浣撳眳涓� */
+  align-items: center;
+  /* 鍨傜洿灞呬腑 */
+  margin-top: 15px;
+  /* 涓庤〃鏍肩殑闂磋窛 */
+}
+
+.pag2 {
+  width: auto;
+  /* 绉婚櫎鍥哄畾瀹藉害锛岃鍒嗛〉鍣ㄦ牴鎹唴瀹硅嚜閫傚簲 */
+  min-width: 750px;
+  /* 璁剧疆鏈�灏忓搴︼紝纭繚鍒嗛〉鍣ㄤ笉浼氬お绐� */
+  text-align: center;
+  /* 纭繚鍒嗛〉鍣ㄥ唴閮ㄥ厓绱犲眳涓� */
+}
+
+@media (max-width: 750px) {
+  .pag2 {
+    min-width: 300px;
+    /* 绉诲姩绔渶灏忓搴� */
+    overflow-x: auto;
+    /* 鍏佽妯悜婊氬姩 */
+    padding: 10px;
+    /* 绉诲姩绔唴杈硅窛 */
+  }
+}
+
+.pag1 {
+  width: auto;
+  /* 绉婚櫎鍥哄畾瀹藉害锛岃鍒嗛〉鍣ㄦ牴鎹唴瀹硅嚜閫傚簲 */
+  min-width: 300px;
+  /* 璁剧疆鏈�灏忓搴︼紝纭繚鍒嗛〉鍣ㄤ笉浼氬お绐� */
+  text-align: center;
+  /* 纭繚鍒嗛〉鍣ㄥ唴閮ㄥ厓绱犲眳涓� */
+}
+
+.dialog-footers {
+  position: fixed;
+  bottom: 0;
+  left: 50%;
+  transform: translateX(-50%);
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  z-index: 1000;
+  /* 纭繚鎸夐挳灞傜骇鍦ㄥ叾浠栧唴瀹逛笂鏂� */
+  width: 300px;
+  background-color: white;
+  /* 鍙牴鎹渶瑕佽皟鏁磋儗鏅鑹� */
+}
+
+/* 纭繚鎸夐挳涔嬮棿鏈夊悎閫傜殑闂磋窛 */
+.dialog-footers .el-button {
+  margin: 0 5px;
+}
+
+textarea {
+  background: #ffffff;
+  border: none;
+  outline: none;
+}
+
+.box {
+  display: flex;
+  height: calc(100vh - 200px);
+  margin-top: 20px;
+  overflow: hidden;
+}
+
+.left-container {
+  flex: 1;
+  margin-right: 10px;
+  overflow: hidden;
+}
+
+.left {
+  height: 100%;
+  padding: 0 10px;
+  overflow-y: scroll; // 鏀逛负 scroll 鑰屼笉鏄� auto
+
+  &::-webkit-scrollbar {
+    width: 8px; // 澧炲姞瀹藉害浣垮叾鏇村鏄撶湅瑙�
+    background-color: #f5f5f5;
+    display: block; // 纭繚鏄剧ず
+  }
+
+  &::-webkit-scrollbar-thumb {
+    background: #909399;
+    border-radius: 4px;
+  }
+
+  &::-webkit-scrollbar-track {
+    background: #f5f5f5;
+    border-radius: 4px;
+  }
+}
+
+.rightbox {
+  width: 700px;
+  overflow: hidden;
+}
+
+.right {
+  height: 100%;
+  padding: 0 10px;
+  overflow-y: scroll; // 鏀逛负 scroll 鑰屼笉鏄� auto
+
+  &::-webkit-scrollbar {
+    width: 8px; // 澧炲姞瀹藉害
+    background-color: #f5f5f5;
+    display: block; // 纭繚鏄剧ず
+  }
+
+  &::-webkit-scrollbar-thumb {
+    background: #909399;
+    border-radius: 4px;
+  }
+
+  &::-webkit-scrollbar-track {
+    background: #f5f5f5;
+    border-radius: 4px;
+  }
+}
+
+.top {
+  position: sticky;
+  top: 0;
+  z-index: 10;
+  background-color: #fff;
+  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
+  display: flex;
+
+  .el-icon-close {
+    cursor: pointer;
+    font-size: 30px;
+    position: relative;
+    top: 7px;
+    right: 4px;
+    color: rgb(24, 144, 255);
+  }
+}
+
+.kong {
+  box-shadow: none;
+}
+
+::v-deep .el-table--medium .el-table__cell {
+  padding: 5px 0;
+}
+
+::-webkit-scrollbar {
+  display: none;
+}
+
+::v-deep .el-drawer {
+  padding: 0 0 50px;
+}
+
+.custom-dialog {
+  ::v-deep .el-dialog__header {
+    padding: 15px 20px;
+    background-color: #f5f7fa;
+    border-bottom: 1px solid #e8ecef;
+  }
+
+  ::v-deep .el-dialog__title {
+    font-size: 18px;
+    color: #303133;
+    font-weight: 600;
+  }
+
+  ::v-deep .el-dialog__body {
+    padding: 20px; // 澧炲姞鍐呰竟璺�
+    background-color: #fff;
+  }
+
+  ::v-deep .el-dialog__footer {
+    padding: 10px 20px;
+    border-top: 1px solid #e8ecef;
+    text-align: right;
+  }
+
+  .custom-form {
+    .advice-group {
+      border: 1px solid #e8ecef;
+      border-radius: 4px;
+      padding: 10px;
+      margin-bottom: 15px;
+      background-color: #f9fbfc;
+
+      .el-form-item {
+        margin-bottom: 15px;
+      }
+
+      .el-button {
+        margin-top: 5px;
+      }
+    }
+  }
+}
+
+.section-title {
+  font-size: 20px;
+  font-weight: bold;
+  color: #303133;
+  background-color: #f5f7fa;
+  padding: 10px 15px;
+  border-left: 4px solid #409eff;
+  /* 宸︿晶钃濊壊杈规潯锛屽寮鸿瑙夋晥鏋� */
+  margin-bottom: 15px;
+  margin-top: 15px;
+  border-radius: 4px;
+}
+
+.dialog-pager {
+  display: flex;
+  justify-content: center;
+  /* 姘村钩灞呬腑 */
+  align-items: center;
+  /* 鍨傜洿灞呬腑 */
+  margin-top: 15px;
+  /* 涓庤〃鏍肩殑闂磋窛 */
+  padding: 0 20px;
+  /* 澧炲姞鍐呰竟璺濓紝閬垮厤杩囦簬璐磋竟 */
+  box-sizing: border-box;
+  /* 纭繚鍐呰竟璺濅笉褰卞搷瀹藉害 */
+}
+
+// .dialog-pager-inner {
+//   width: auto; /* 鑷�傚簲瀹藉害 */
+//   min-width: 300px; /* 璁剧疆鏈�灏忓搴︼紝纭繚鍒嗛〉鍣ㄤ笉浼氬お绐� */
+//   text-align: center; /* 纭繚鍒嗛〉鍣ㄥ唴閮ㄥ厓绱犲眳涓� */
+// }</style>
diff --git a/src/views/doctor/checkAll/index.vue b/src/views/doctor/checkAll/index.vue
index e6d237d..39ada35 100644
--- a/src/views/doctor/checkAll/index.vue
+++ b/src/views/doctor/checkAll/index.vue
@@ -337,8 +337,7 @@
 
               <el-form ref="numberValidateForm" label-width="80px" class="demo-ruleForm" v-if="tjproject != '1'">
                 <el-form-item label="鎬绘寤鸿">
-                  <el-input type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" v-model="textarea1" :rows="3"
-                    style="width: 96%"></el-input>
+                  <el-input type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" v-model="textarea1" :autosize="{ minRows: minRows, maxRows: maxRows }"></el-input>
                 </el-form-item>
               </el-form>
               <div slot="footer" class="dialog-footers">
@@ -869,13 +868,14 @@
     </el-dialog>
     <Packages ref="bbb" :baogao="baogao" />
     <Prescription ref="Pre" :preObj="preObj" />
-    <proposal ref="proposal" :cusobj="cusobj" @event1="eventchange($event)" />
+    <proposal ref="proposal" :cusobj="cusobj" :mrjy="mrjy" @event1="eventchange($event)" />
     <createproposal ref="createproposal" :creatobj="creatobj" />
     <el-dialog title="甯哥敤寤鸿缁存姢" :visible.sync="propdialog" width="500px" append-to-body></el-dialog>
   </div>
 </template>
 <script>
 import _ from 'lodash';
+import { getConfigKey } from "@/api/system/config";
 import jianqianwenzhen from "@/components/jianqianwenzhen";
 import Packages from "@/components/Packages";
 import Prescription from "@/components/Prescription";
@@ -945,6 +945,8 @@
       zhiyeJg: '', // 鍒濆鍖栦綋妫�缁撴灉涓洪粯璁ゅ��
       selectedAdvice: null,
       activeAdviceIndex: 0,
+      minRows: 3,
+      maxRows: null,
       gotyval: null,
       advicerulesList: [],
       xmChange: [],
@@ -1000,6 +1002,7 @@
       src: "",
       url: "",
       userId: "",
+      mrjy: "",
       flag: true,
       bill: null,
       numberList: [],
@@ -1116,6 +1119,12 @@
     this.$nextTick(() => {
       this.$refs.inputName.focus();
       this.viewportHeight = window.innerHeight || document.documentElement.clientHeight;
+    });
+    getConfigKey("zjysjymrhs").then((res) => {
+      const val = parseInt(res.msg); // 纭繚鏄暟瀛�
+      if (!isNaN(val)) {
+        this.maxRows = val;
+      }
     });
   },
 
@@ -1813,8 +1822,11 @@
 
     propoChange() {
       this.cusobj = { sex: this.tableAll.cusSex, isZj: 0 };
-      this.$refs.proposal.open = true;
-      this.$refs.proposal.title = "寤鸿鏂规";
+      getConfigKey("mrzscyjy").then((res) => {
+        this.mrjy = res.msg; 
+        this.$refs.proposal.title = "寤鸿鏂规";
+        this.$refs.proposal.open = true;
+      });
     },
 
     eventchange(data) {
diff --git a/src/views/hosp/order/index.vue b/src/views/hosp/order/index.vue
index 7f41531..1e200a9 100644
--- a/src/views/hosp/order/index.vue
+++ b/src/views/hosp/order/index.vue
@@ -785,6 +785,12 @@
               </el-table-column>
               <el-table-column align="center" prop="price" label="璐圭敤鍚堣">
               </el-table-column>
+              <el-table-column align="center" prop="sfzt" label="璐圭敤鐘舵��">
+                 <template v-slot="scope">
+                    <span v-if="scope.row.sfzt">{{ '宸茬粨璐�' }}</span>
+                    <span v-else>{{ '鏈粨璐�' }}</span>
+                 </template>
+              </el-table-column>
             </el-table>
             <h3>浠樻璇︽儏</h3>
             <el-table :data="bill" style="width: 100%; margin-top: 10px">
diff --git a/src/views/login copy.vue b/src/views/login copy.vue
new file mode 100644
index 0000000..bf40696
--- /dev/null
+++ b/src/views/login copy.vue
@@ -0,0 +1,392 @@
+<template>
+  <div class="login">
+    <!-- <div style="padding-top: 130px;"> -->
+    <div style="font-weight: 700;font-size: 50px;">鏅鸿兘鍋ュ悍浣撴绠$悊绯荤粺</div>
+    <!-- </div> -->
+
+
+    <el-form :inline="true" ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
+      <div class="img">
+        <img class="image" src="../assets/images/ewm.png" alt="" />
+      </div>
+      <div class="card">
+        <!-- <h3 class="title">璺嘲绉戞妧鍚庡彴绠$悊绯荤粺</h3> -->
+        <el-form-item>
+          <el-input v-model="loginForm.username" type="text" auto-complete="off" placeholder="璐﹀彿/鎵嬫満鍙风爜/浣撴鍙�"
+            @keyup.enter.native="jumpInput">
+            <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" @click="hide"
+              @keyup.enter.native="jumpInput" />
+          </el-input>
+        </el-form-item>
+        <el-form-item>
+          <el-input v-model="loginForm.password" :type="type" auto-complete="off" placeholder="瀵嗙爜" ref="barcodeMsg"
+            @keyup.enter.native="handleLogin">
+            <svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
+            <i slot="suffix" class="icon-style" :class="elIcon" autocomplete="auto" @click="flag = !flag" /></el-input>
+          <!-- <img :src="openeye" class="show_hid" @click="changetype" > -->
+        </el-form-item>
+        <el-form-item prop="code" v-if="captchaEnabled">
+          <el-input v-model="loginForm.code" auto-complete="off" placeholder="楠岃瘉鐮�" style="width: 63%"
+            @keyup.enter.native="handleLogin">
+            <svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />
+          </el-input>
+          <div class="login-code">
+            <img :src="codeUrl" @click="getCode" class="login-code-img" />
+          </div>
+        </el-form-item>
+        <el-checkbox v-model="loginForm.rememberMe" style="margin:10px 0px 40px 0px;">璁颁綇瀵嗙爜</el-checkbox>
+        <!-- <el-form-item style="margin-left:10px"  prop="mobile">
+        <el-radio-group v-model="loginForm.mobile">
+          <el-radio :label="true">鍛樺伐鐧诲綍</el-radio>
+          <el-radio :label="false">鐢ㄦ埛鐧诲綍</el-radio>
+        </el-radio-group>
+      </el-form-item> -->
+        <el-form-item style="width:100%;">
+          <el-button :loading="loading" size="medium" type="primary" style="width:310px;" @keyup.enter="keyDown(e)"
+            @click.native.prevent="handleLogin">
+            <span v-if="!loading">鐧� 褰�</span>
+            <span v-else>鐧� 褰� 涓�...</span>
+          </el-button>
+          <div style="float: right;" v-if="register">
+            <router-link class="link-type" :to="'/register'">绔嬪嵆娉ㄥ唽</router-link>
+          </div>
+        </el-form-item>
+      </div>
+
+    </el-form>
+
+
+    <!--  搴曢儴  -->
+    <div class="el-login-footer">
+      <span>Copyright 漏 2024-2025 All Rights Reserved.</span>
+      <!-- <span>Copyright 漏 2022-2023榫欑編缃戠粶 All Rights Reserved.</span> -->
+    </div>
+  </div>
+</template>
+
+<script>
+
+import { getCodeImg, getconfigKey } from "@/api/login";
+import Cookies from "js-cookie";
+import { encrypt, decrypt } from '@/utils/jsencrypt'
+import ini from 'ini';
+import fs from 'fs'; // Node.js 鏂囦欢绯荤粺妯″潡
+export default {
+  name: "Login",
+  data() {
+    return {
+      codeUrl: "",
+      loginForm: {
+        username: "",
+        password: "",
+        mobile: false,
+        hospId: "",
+        // username:"13800138008",
+        // password:"888888",
+        rememberMe: false,
+        code: "",
+        uuid: "",
+        // type: false,
+      },
+      loginRules: {
+        username: [
+          { required: true, trigger: "blur", message: "" }
+        ],
+        password: [
+          { required: true, trigger: "blur", message: "" }
+        ],
+        code: [{ required: true, trigger: "change", message: "" }],
+        mobile: [
+          { required: true, trigger: "change", message: "" }
+        ]
+      },
+      pwdtype: 'password',
+      openeye: require('../assets/images/by.png'),
+      flag: false,
+      loading: false,
+      configKey: "captcha_switch",
+      // // 楠岃瘉鐮佸紑鍏�
+      captchaEnabled: true,
+      // 娉ㄥ唽寮�鍏�
+      register: false,
+      redirect: undefined
+    };
+  },
+  computed: {
+    type() {
+      return this.flag ? "text" : "password";
+    },
+    elIcon() {
+      return this.flag ? "el-icon-minus" : "el-icon-view";
+    }
+  },
+  mounted() {
+    // 缁戝畾鐩戝惉浜嬩欢
+    window.addEventListener("keydown", this.keyDown);
+  },
+  destroyed() {
+    // 閿�姣佷簨浠�
+    window.removeEventListener("keydown", this.keyDown, false);
+  },
+  watch: {
+    $route: {
+      handler: function (route) {
+        this.redirect = route.query && route.query.redirect;
+      },
+      immediate: true
+    }
+  },
+  created() {
+    this.getstate();
+    this.getCookie();
+    this.loadAll();
+  },
+  methods: {
+    getstate() {
+      getconfigKey().then(res => {
+        if (res.msg == "Y") {
+          this.captchaEnabled = true
+          this.getCode();
+        } else if (res.msg == "N") {
+          this.captchaEnabled = false
+        }
+      })
+
+    },
+    loadAll() {
+      const env = process.env.VUE_APP_ENV;
+      const port = window.location.port;
+
+      // yuanqu.ini鍔犺浇hospId
+      fetch('/yuanqu.ini')
+        .then(response => {
+          if (!response.ok) {
+            throw new Error('Failed to fetch config.ini');
+          }
+          return response.text();
+        })
+        .then(text => {
+          const config = ini.parse(text);
+
+          if (config[env] && config[env][port]) {
+            this.loginForm.hospId = config[env][port];
+            Cookies.set("hospId", this.loginForm.hospId);
+          } else {
+            console.error(`No hospId found for environment ${env} and port ${port}`);
+            this.$message.error(`閰嶇疆閿欒锛氭湭鎵惧埌鐜 ${env} 鍜岀鍙� ${port} 瀵瑰簲鐨勫尰闄D`);
+          }
+        })
+        .catch(error => {
+          console.error('Error fetching or parsing config.ini:', error);
+          this.$message.error('鏃犳硶鍔犺浇閰嶇疆鏂囦欢锛岃鑱旂郴绠$悊鍛�');
+        });
+    },
+    hide() {
+      // this.loginForm.username = "10001";
+      // this.loginForm.password = "admin123";
+    },
+    changetype() {
+      this.pwdtype = this.pwdtype === 'password' ? 'text' : 'password'
+      this.openeye = this.openeye === require('../assets/images/by.png') ? require('../assets/images/zy.png') : require('../assets/images/by.png')
+    },
+    getCode() {
+      getCodeImg().then(res => {
+        this.captchaEnabled = res.captchaEnabled === undefined ? true : res.captchaEnabled;
+        if (this.captchaEnabled) {
+          this.codeUrl = "data:image/gif;base64," + res.img;
+          this.loginForm.uuid = res.uuid;
+        }
+      });
+    },
+    getCookie() {
+      const username = Cookies.get("username");
+      const password = Cookies.get("password");
+      const rememberMe = Cookies.get('rememberMe')
+      this.loginForm = {
+        username: username === undefined ? this.loginForm.username : username,
+        password: password === undefined ? this.loginForm.password : decrypt(password),
+        rememberMe: rememberMe === undefined ? false : Boolean(rememberMe),
+      };
+    },
+    jumpInput() {
+      if (this.loginForm.password) {
+        this.handleLogin(); // 瀹氫箟鐨勭櫥褰曟柟娉�
+      } else {
+        this.$refs.barcodeMsg.focus(); // 鑷姩鑾峰彇鐒︾偣
+      }
+    },
+    handleLogin() {
+      if (this.loginForm.username.length < 12) {
+        this.loginForm.mobile = true;
+        this.$router.push({ path: this.redirect || "/" }).catch(() => { });
+      } else {
+        this.$router.push({ path: this.redirect || "/404" }).catch(() => { });
+        this.loginForm.mobile = false;
+      }
+
+      this.$refs.loginForm.validate(valid => {
+        if (valid) {
+          this.loading = true;
+          if (this.loginForm.rememberMe) {
+            Cookies.set("username", this.loginForm.username, { expires: 30 });
+            Cookies.set("password", encrypt(this.loginForm.password), { expires: 30 });
+            Cookies.set('rememberMe', this.loginForm.rememberMe, { expires: 30 });
+          } else {
+            Cookies.remove("username");
+            Cookies.remove("password");
+            Cookies.remove('rememberMe');
+          }
+
+          this.$store.dispatch("Login", this.loginForm).then((res) => {
+            if (res.msg == "璇ヨ处鍙锋鍦ㄤ娇鐢ㄤ腑") {
+              this.$confirm('璇ヨ处鍙锋鍦ㄤ娇鐢ㄤ腑,鏄惁寮哄埗鐧婚檰?', '娓╅Θ鎻愮ず', {
+                confirmButtonText: '纭畾',
+                cancelButtonText: '鍙栨秷',
+                type: 'warning'
+              }).then(() => {
+                this.loginForm.type = true
+                this.$store.dispatch("Login", this.loginForm).then((res) => {
+                  this.$router.push({ path: this.redirect || "/" }).catch(() => { });
+                })
+              }).catch(() => {
+                this.loading = false;
+
+              });
+            } else {
+              const securitMessage = JSON.parse(localStorage.getItem("securitMessage"));
+              if (securitMessage) {
+                if (securitMessage != null) {
+                  this.$message({
+                    message: securitMessage,
+                    type: 'success'
+                  });
+                  localStorage.removeItem("securitMessage");
+                }
+              }
+              this.$router.push({ path: this.redirect || "/" }).catch(() => { });
+              location.reload();
+            }
+
+          }).catch(() => {
+            this.loading = false;
+            if (this.captchaEnabled) {
+              this.getCode();
+            }
+          });
+
+        }
+      });
+    }
+  }
+};
+</script>
+
+<style rel="stylesheet/scss" lang="scss">
+.login {
+  display: flex;
+  justify-content: flex-start;
+  align-items: center;
+  width: 100%;
+  height: 100%;
+  // background-image: url("../assets/images/login-background.jpg");
+  background-size: cover;
+  flex-direction: column;
+  margin-top: 170px;
+}
+
+.card {
+  width: 519px;
+  padding-left: 100px;
+  border-left: 1px solid #ededed;
+  display: flex;
+  flex-direction: column;
+  // margin-left: 100px;
+}
+
+.show_hid {
+  width: 25px;
+  height: 25px;
+}
+
+.img {
+  width: 506px;
+  height: 200px;
+  display: flex;
+  align-items: center;
+  justify-content: flex-end;
+
+}
+
+.image {
+  width: 200px;
+  height: 200px;
+}
+
+.title {
+  margin: 0px auto 30px auto;
+  text-align: center;
+  color: #707070;
+}
+
+.login-form {
+  border-radius: 6px;
+  background: #ffffff;
+  width: 90%;
+  padding: 25px 25px 5px 25px;
+  // margin-left: 800px;
+  margin-top: 100px;
+  display: flex;
+  justify-content: space-around;
+  // justify-content: space-evenly;
+
+  .el-input {
+    height: 38px;
+
+    input {
+      width: 300px;
+      height: 38px;
+    }
+  }
+
+  .input-icon {
+    height: 39px;
+    width: 14px;
+    margin-left: 2px;
+  }
+}
+
+.login-tip {
+  font-size: 13px;
+  text-align: center;
+  color: #bfbfbf;
+}
+
+.login-code {
+  width: 33%;
+  height: 38px;
+  margin-top: 5px;
+  // float: right;
+
+  img {
+    cursor: pointer;
+    vertical-align: middle;
+  }
+}
+
+.el-login-footer {
+  height: 40px;
+  line-height: 40px;
+  position: fixed;
+  bottom: 0;
+  width: 100%;
+  text-align: center;
+  color: black;
+  font-family: Arial;
+  font-size: 12px;
+  letter-spacing: 1px;
+}
+
+.login-code-img {
+  height: 38px;
+}
+</style>
diff --git a/src/views/system/tijian/index.vue b/src/views/system/tijian/index.vue
index 51025ed..a0d7bad 100644
--- a/src/views/system/tijian/index.vue
+++ b/src/views/system/tijian/index.vue
@@ -427,7 +427,7 @@
             <el-form-item label="濮撳悕" prop="pacName">
               <el-input v-model="queryParam.pacName" placeholder="璇疯緭鍏ュ鍚�" clearable @keyup.enter.native="handle" />
             </el-form-item>
-             <el-form-item label="韬唤璇�" prop="pacName">
+            <el-form-item label="韬唤璇�" prop="pacName">
               <el-input v-model="queryParam.pacName" placeholder="璇疯緭鍏ヨ韩浠借瘉" clearable @keyup.enter.native="handle" />
             </el-form-item>
             <el-form-item>
@@ -952,7 +952,7 @@
       // 鏄剧ず鎼滅储鏉′欢
       showSearch: true,
       tjtype: false,
-      sftj:null,
+      sftj: null,
       activeNames: "first",
       // 鏍戠姸褰㈢姸
       Treedata: [],
@@ -984,12 +984,10 @@
         pacName: null,
         pacRemark: null,
       },
-      // valueUrl: "ws://127.0.0.1:18890",
-      // valueUrl: "ws://192.168.1.3:6789/websocket",
-      valueUrl: "ws://127.0.0.1:6789/websocket",
-      valueUrls: "ws://127.0.0.1:6789/websocket",
-      
-      // valueUrls: "ws://"+getIp() +":6789/websocket",
+      // valueUrl: "ws://127.0.0.1:6789/websocket",
+      // valueUrls: "ws://127.0.0.1:6789/websocket",
+      valueUrl: "ws://192.168.1.244:6789/websocket",
+      valueUrls: "ws://192.168.1.244:6789/websocket",
       webSocket: null,
       // 韬唤璇侀渶瑕�
       // socket: null,
@@ -1742,57 +1740,57 @@
     },
     /** 鐧昏鎻愪氦鎸夐挳 */
     /** 鐧昏鎻愪氦鎸夐挳 */
-  submitForm() {
-  let _this = this;
-  if (!this.form.cusPhone || !this.form.cusName) {
-    this.$message.warning("璇峰~閫夊繀濉」");
-    return;
-  }
-
-  this.$refs["form"].validate((valid) => {
-    if (valid) {
-      // 鍒涘缓琛ㄥ崟鏁版嵁鐨勫壇鏈苟鍘婚櫎绌烘牸
-      const formData = { ...this.form };
-      formData.cusName = formData.cusName ? formData.cusName.replace(/\s/g, '') : '';
-      formData.cusPhone = formData.cusPhone ? formData.cusPhone.replace(/\s/g, '') : '';
-      formData.cusIdcard = formData.cusIdcard ? formData.cusIdcard.replace(/\s/g, '') : '';
-      // 娣诲姞 sfzImg 瀛楁
-      formData.sfzImg = this.imageUrl || ''; // 浣跨敤 base64 鏍煎紡鐨勫ご鍍忔暟鎹紝鑻ヤ负绌哄垯浼犵┖瀛楃涓�
-
-      // 澶勭悊鎬у埆鍊�
-      if (formData.cusSex === "濂�") {
-        formData.cusSex = 1;
-      }
-      if (formData.cusSex === "鐢�") {
-        formData.cusSex = 0;
-      }
-      if (formData.cusSex === "鏈煡") {
-        formData.cusSex = 2;
-      }
-      if (formData.tjType === "") {
-        formData.tjType = this.dict.type.dict_team[0].value;
+    submitForm() {
+      let _this = this;
+      if (!this.form.cusPhone || !this.form.cusName) {
+        this.$message.warning("璇峰~閫夊繀濉」");
+        return;
       }
 
-      // 鍙�夛細妫�鏌� sfzImg 鏄惁瀛樺湪
-      // if (!formData.sfzImg) {
-      //   this.$message.warning("璇峰厛鑾峰彇韬唤璇佸ご鍍�");
-      //   return;
-      // }
+      this.$refs["form"].validate((valid) => {
+        if (valid) {
+          // 鍒涘缓琛ㄥ崟鏁版嵁鐨勫壇鏈苟鍘婚櫎绌烘牸
+          const formData = { ...this.form };
+          formData.cusName = formData.cusName ? formData.cusName.replace(/\s/g, '') : '';
+          formData.cusPhone = formData.cusPhone ? formData.cusPhone.replace(/\s/g, '') : '';
+          formData.cusIdcard = formData.cusIdcard ? formData.cusIdcard.replace(/\s/g, '') : '';
+          // 娣诲姞 sfzImg 瀛楁
+          formData.sfzImg = this.imageUrl || ''; // 浣跨敤 base64 鏍煎紡鐨勫ご鍍忔暟鎹紝鑻ヤ负绌哄垯浼犵┖瀛楃涓�
 
-      addCustomer(formData).then((response) => {
-        this.responseList = response.data;
-        this.form.tjType = this.dict.type.dict_team[0].value;
-        this.$modal.msgSuccess("鏂板鎴愬姛");
-        _this.tcShow = true;
-        _this.isDisabled = true;
-        _this.top = false;
-      }).catch((error) => {
-        this.$modal.msgError("鐧昏澶辫触锛岃妫�鏌ユ暟鎹�");
-        console.error("Error in addCustomer:", error);
+          // 澶勭悊鎬у埆鍊�
+          if (formData.cusSex === "濂�") {
+            formData.cusSex = 1;
+          }
+          if (formData.cusSex === "鐢�") {
+            formData.cusSex = 0;
+          }
+          if (formData.cusSex === "鏈煡") {
+            formData.cusSex = 2;
+          }
+          if (formData.tjType === "") {
+            formData.tjType = this.dict.type.dict_team[0].value;
+          }
+
+          // 鍙�夛細妫�鏌� sfzImg 鏄惁瀛樺湪
+          // if (!formData.sfzImg) {
+          //   this.$message.warning("璇峰厛鑾峰彇韬唤璇佸ご鍍�");
+          //   return;
+          // }
+
+          addCustomer(formData).then((response) => {
+            this.responseList = response.data;
+            this.form.tjType = this.dict.type.dict_team[0].value;
+            this.$modal.msgSuccess("鏂板鎴愬姛");
+            _this.tcShow = true;
+            _this.isDisabled = true;
+            _this.top = false;
+          }).catch((error) => {
+            this.$modal.msgError("鐧昏澶辫触锛岃妫�鏌ユ暟鎹�");
+            console.error("Error in addCustomer:", error);
+          });
+        }
       });
-    }
-  });
-},
+    },
 
     getmailType() {
       if (this.getType == "2") {
@@ -2978,7 +2976,7 @@
     // 澶勭悊璁㈠崟椤圭洰
     processOrderItems(cusId) {
       getTransitionList1(cusId).then((response) => {
-       this.tableData1 = response.data;
+        this.tableData1 = response.data;
         // if (response.data.tjCategory != null) {
         //   this.tjCategory = response.data.tjCategory;
         // }
@@ -3288,100 +3286,100 @@
     },
 
     // 鏈�鍚庢彁浜ゆ寜閽�
-  submitPrice() {
-  let _this = this;
-  this.loadingSubmit = true;
-  if (_this.tjCategory !== "") {
-    let List = _this.tableData1; // 鍗曚釜椤圭洰淇℃伅
-    if (this.responseList.cusId) {
-      var userId = this.responseList.cusId;
-    } else {
-      var userId = _this.form.cusId;
-    }
-    let tjType = _this.form.tjType;
-    if (this.tableData[0]) {
-      var pacId = this.tableData[0].pacId;
-    }
-
-    // tjOrderList 澶勭悊
-    List.forEach((item) => {
-      if (item.list) {
-        item.list.forEach((item1) => {
-          this.tjOrderList.push({
-            proName: item1.proName,
-            proPrice: item1.nowPrice,
-            proId: item1.proId,
-          });
-        });
-      } else if (item.tjProjectList) {
-        item.tjProjectList.forEach((item1) => {
-          this.tjOrderList.push({
-            proName: item1.proName,
-            proPrice: item1.priceNow,
-            proId: item1.proId,
-          });
-        });
-      } else {
-        this.tjOrderList.push({
-          proName: item.proName,
-          proPrice: item.ysPrice,
-          proId: item.proId,
-        });
-      }
-    });
-
-    let copeWith = this.TotalPrice1;
-    let paidIn = this.TotalPrice.toString();
-    let discount = this.discount;
-    this.tjFlowingWater = { copeWith, paidIn, discount };
-
-    const newArray = this.tableData1
-      .filter((item) => item.discount < 10)
-      .map((item) => ({
-        discount: item.discount,
-        parentProId: item.parentProId,
-        cusIdCard: item.cusId,
-        yhj: item.nowPrice,
-      }));
-
-    gaibianzhekou(newArray).then((res) => {
-      this.loadingSubmit = false;
-      if (res.code === 200) {
-        let data;
-
-        if (pacId || this.tjOrderList.length > 0) {
-          data = {
-            photo: this.srcUrl, // 淇濈暀鍘熸湁 photo 瀛楁锛堝鏋滃悗绔粛闇�瑕侊級
-            sfzImg: this.imageUrl, // 娣诲姞 sfzImg 瀛楁锛屼紭鍏堜娇鐢ㄦ湇鍔″櫒URL锛岃嫢鏃犲垯浣跨敤base64
-            pacId,
-            tjOrderList: this.tjOrderList,
-            tjFlowingWater: this.tjFlowingWater,
-            userId,
-            tjType,
-            tjCategory: this.tjCategory,
-            firmId: this.form.firmId,
-            firmName: this.form.firmName,
-            firmDeptName: this.form.firmDeptName,
-          };
-
-          this.listgetOrder(data);
+    submitPrice() {
+      let _this = this;
+      this.loadingSubmit = true;
+      if (_this.tjCategory !== "") {
+        let List = _this.tableData1; // 鍗曚釜椤圭洰淇℃伅
+        if (this.responseList.cusId) {
+          var userId = this.responseList.cusId;
         } else {
-          this.loadingSubmit = false;
-          this.$message({
-            type: "warning",
-            message: "璇烽�夋嫨濂楅!",
-          });
+          var userId = _this.form.cusId;
         }
+        let tjType = _this.form.tjType;
+        if (this.tableData[0]) {
+          var pacId = this.tableData[0].pacId;
+        }
+
+        // tjOrderList 澶勭悊
+        List.forEach((item) => {
+          if (item.list) {
+            item.list.forEach((item1) => {
+              this.tjOrderList.push({
+                proName: item1.proName,
+                proPrice: item1.nowPrice,
+                proId: item1.proId,
+              });
+            });
+          } else if (item.tjProjectList) {
+            item.tjProjectList.forEach((item1) => {
+              this.tjOrderList.push({
+                proName: item1.proName,
+                proPrice: item1.priceNow,
+                proId: item1.proId,
+              });
+            });
+          } else {
+            this.tjOrderList.push({
+              proName: item.proName,
+              proPrice: item.ysPrice,
+              proId: item.proId,
+            });
+          }
+        });
+
+        let copeWith = this.TotalPrice1;
+        let paidIn = this.TotalPrice.toString();
+        let discount = this.discount;
+        this.tjFlowingWater = { copeWith, paidIn, discount };
+
+        const newArray = this.tableData1
+          .filter((item) => item.discount < 10)
+          .map((item) => ({
+            discount: item.discount,
+            parentProId: item.parentProId,
+            cusIdCard: item.cusId,
+            yhj: item.nowPrice,
+          }));
+
+        gaibianzhekou(newArray).then((res) => {
+          this.loadingSubmit = false;
+          if (res.code === 200) {
+            let data;
+
+            if (pacId || this.tjOrderList.length > 0) {
+              data = {
+                photo: this.srcUrl, // 淇濈暀鍘熸湁 photo 瀛楁锛堝鏋滃悗绔粛闇�瑕侊級
+                sfzImg: this.imageUrl, // 娣诲姞 sfzImg 瀛楁锛屼紭鍏堜娇鐢ㄦ湇鍔″櫒URL锛岃嫢鏃犲垯浣跨敤base64
+                pacId,
+                tjOrderList: this.tjOrderList,
+                tjFlowingWater: this.tjFlowingWater,
+                userId,
+                tjType,
+                tjCategory: this.tjCategory,
+                firmId: this.form.firmId,
+                firmName: this.form.firmName,
+                firmDeptName: this.form.firmDeptName,
+              };
+
+              this.listgetOrder(data);
+            } else {
+              this.loadingSubmit = false;
+              this.$message({
+                type: "warning",
+                message: "璇烽�夋嫨濂楅!",
+              });
+            }
+          } else {
+            this.loadingSubmit = false;
+            this.$modal.msgError("鏀瑰彉鎶樻墸閿欒");
+          }
+        });
       } else {
         this.loadingSubmit = false;
-        this.$modal.msgError("鏀瑰彉鎶樻墸閿欒");
+        this.$modal.msgError("璇烽�夋嫨浣撴绫诲埆");
       }
-    });
-  } else {
-    this.loadingSubmit = false;
-    this.$modal.msgError("璇烽�夋嫨浣撴绫诲埆");
-  }
-},
+    },
   },
 };
 </script>

--
Gitblit v1.8.0