From 333626d05a8ce4cf553e2a1e3fed1259d0814fb1 Mon Sep 17 00:00:00 2001
From: lkk <364857242@qq.com>
Date: 星期一, 21 四月 2025 18:11:03 +0800
Subject: [PATCH] 1

---
 src/views/hosp/order/index.vue | 2366 ++++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 1,868 insertions(+), 498 deletions(-)

diff --git a/src/views/hosp/order/index.vue b/src/views/hosp/order/index.vue
index cf5ca05..25a9c78 100644
--- a/src/views/hosp/order/index.vue
+++ b/src/views/hosp/order/index.vue
@@ -13,7 +13,7 @@
           ref="inputName"
           v-model="queryParams.name"
           placeholder="璇疯緭鍏ュ鍚�"
-          style="width: 120px"
+          style="width: 150px"
           clearable
           @keyup.enter.native="handleQuery"
         />
@@ -23,13 +23,70 @@
           ref="inputName"
           v-model="queryParams.tjNum"
           placeholder="璇疯緭鍏ヤ綋妫�鍙�"
-          style="width: 170px"
+          style="width: 150px"
           clearable
           @keyup.enter.native="handleQuery"
           @blur="hb"
         />
       </el-form-item>
-      <el-form-item label="鐧昏鏃堕棿" prop="createTimeList">
+      <el-form-item label="浣撴椤圭洰" prop="xmmc">
+        <el-input
+          ref="inputName"
+          v-model="queryParams.xmmc"
+          placeholder="璇疯緭鍏ヤ綋妫�椤圭洰"
+          style="width: 150px"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item
+        label="鍗曚綅鍚嶇О"
+        prop="tjCompName"
+        style="margin-left: 20px; margin-right: 500px"
+      >
+        <el-select
+          :remote-method="getRemoteData"
+          v-model="queryParams.tjCompName"
+          value-key="drugManufacturerId"
+          style="width: 200px"
+          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="zt">
+        <el-select
+          :remote-method="getRemoteData"
+          v-model="queryParams.zt"
+          style="width: 150px"
+          remote
+          filterable
+          placeholder="璇烽�夋嫨鐘舵��"
+          clearable
+          @change="searchSelect"
+        >
+          <el-option
+            v-for="item in ztList"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="鐧昏鏃堕棿"
+        prop="createTimeList"
+        style="margin-right: 107px"
+      >
         <el-date-picker
           v-model="createTimeList"
           type="datetimerange"
@@ -85,13 +142,41 @@
       </el-form-item>
     </el-form>
 
+    <div v-if="shijianlist.length > 0" style="margin-bottom: 20px">
+      {{ findNameByTjnum(shijianlist[shijianlist.length - 1].tjNUm) }}
+      <el-steps
+        :space="200"
+        :active="shijianlist[shijianlist.length - 1].sjz"
+        finish-status="success"
+        align-center
+      >
+        <el-step title="鏈"></el-step>
+        <el-step title="鍦ㄦ"></el-step>
+        <el-step title="宸插畬鎴�"></el-step>
+        <el-step title="宸插鏍�"></el-step>
+        <el-step title="鐢熸垚鎶ュ憡"></el-step>
+        <el-step title="鎶ュ憡鏍告敹"></el-step>
+        <el-step title="宸叉墦鍗�"></el-step>
+      </el-steps>
+    </div>
+
     <el-row :gutter="10" class="mb8">
-      <el-col :span="1.5">
+      <!-- <el-col :span="1.5">
         <el-button
           type="primary"
           icon="el-icon-download"
           size="mini"
           @click="handleExport"
+          v-hasPermi="['hosp:order:export']"
+          >瀵煎嚭</el-button
+        >
+      </el-col> -->
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          icon="el-icon-download"
+          size="mini"
+          @click="exportDialogVisible = true"
           v-hasPermi="['hosp:order:export']"
           >瀵煎嚭</el-button
         >
@@ -102,6 +187,7 @@
           type="primary"
           size="mini"
           @click="handleRevoke"
+          :loading="isLoading"
           :disabled="single"
           >鎾ら攢绛惧埌</el-button
         >
@@ -147,6 +233,35 @@
           >璁㈠崟鏄庣粏</el-button
         >
       </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          size="mini"
+          @click="budadzd"
+          :disabled="single"
+          v-hasPermi="['hosp:order:export']"
+          >鎵撳嵃琛ュ綍鍗�</el-button
+        >
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          size="mini"
+          @click="ForceChexiao"
+          :disabled="single"
+          v-hasPermi="['qzcx']"
+          >寮哄埗鎾ら攢</el-button
+        >
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          size="mini"
+          @click="ResumeAppointment"
+          :disabled="multiple"
+          >鎭㈠棰勭害</el-button
+        >
+      </el-col>
       <right-toolbar
         :showSearch.sync="showSearch"
         @queryTable="getList"
@@ -158,6 +273,7 @@
         border
         v-loading="loading"
         :data="orderList"
+        ref="tableRef"
         @selection-change="handleSelectionChange"
       >
         <el-table-column
@@ -226,8 +342,12 @@
           :show-overflow-tooltip="true"
         >
           <template slot-scope="scope">
-            <span v-if="scope.row.tjType == '2'">涓汉</span>
-            <span v-if="scope.row.tjType == '1'">鍥㈤槦</span>
+            <dict-tag
+              :options="dict.type.dict_team"
+              :value="scope.row.tjType"
+            />
+            <!-- <span v-if="scope.row.tjType == '2'">涓汉</span>
+            <span v-if="scope.row.tjType == '1'">鍥㈤槦</span> -->
           </template>
         </el-table-column>
         <el-table-column
@@ -244,6 +364,18 @@
           :show-overflow-tooltip="true"
           width="160px"
         />
+        <el-table-column
+          label="鍗曚綅鍚嶇О"
+          align="center"
+          prop="dictCompName"
+          :show-overflow-tooltip="true"
+        />
+        <el-table-column
+          label="鐘舵��"
+          align="center"
+          prop="zt"
+          :show-overflow-tooltip="true"
+        />
         <!-- <el-table-column label="娴佹按鍙�" align="center" prop="tjSerialNumber" /> -->
         <el-table-column
           label="鎵�閫夊椁�"
@@ -252,6 +384,18 @@
           :formatter="driver"
           :show-overflow-tooltip="true"
         />
+        <el-table-column
+          label="瀵艰瘖鎵撳嵃娆℃暟"
+          align="center"
+          prop="dycs"
+          width="110px"
+          :formatter="driver"
+          :show-overflow-tooltip="true"
+        >
+          <template slot-scope="scope">
+            {{ scope.row.dycs === null ? 0 : scope.row.dycs }}
+          </template>
+        </el-table-column>
         <el-table-column
           label="鐧昏鏃堕棿"
           align="center"
@@ -293,19 +437,14 @@
         </el-table-column>
         <!-- <el-table-column label="鍒涘缓浜�" align="center" prop="createBy" /> -->
         <!-- <el-table-column label="鏇存柊浜�" align="center" prop="updateBy" /> -->
-        <el-table-column
+        <!--  <el-table-column
           label="鍗曚綅宸ュ彿"
           align="center"
           prop="firmWorkId"
           width="100px"
           :show-overflow-tooltip="true"
-        />
-        <el-table-column
-          label="鍗曚綅鍚嶇О"
-          align="center"
-          prop="dictCompName"
-          :show-overflow-tooltip="true"
-        />
+        /> -->
+
         <!-- <el-table-column label="閮ㄩ棬鍚�" align="center" prop="firmDeptName" /> -->
 
         <!-- <el-table-column label="瀹㈡埛鐓х墖" align="center" prop="photo" /> -->
@@ -452,170 +591,361 @@
       width="1100px"
       style="height: 860px"
       append-to-body
+      :close-on-click-modal="false"
     >
-      <el-row type="flex" class="row-bg" justify="space-around">
-        <el-col :span="6">
+      <div class="box">
+        <div class="box1">
           <div
             style="text-align: center; margin-bottom: 10px; margin-top: 10px"
           >
-            椤圭洰鍒楄〃
+            椤圭洰閫夋嫨
           </div>
-          <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" v-model="filterText">
-          </el-input>
-          <div class="tab3">
-            <el-tree
-              class="filter-tree"
-              v-loading="loading"
-              :data="Treedata"
-              :props="defaultProps"
-              show-checkbox
-              node-key="proId"
-              @check="handleCurrentChecked"
-              :default-checked-keys="checkedkey"
-              :filter-node-method="filterNode"
-              ref="tree"
-              :render-content="renderContent"
-            >
-            </el-tree>
-          </div>
-        </el-col>
-        <el-col :span="5">
-          <div
-            style="text-align: center; margin-bottom: 10px; margin-top: 10px"
+          <el-tabs
+            type="border-card"
+            style="height: 560px; margin: 0 10px; width: 100%"
+            @tab-click="handleClick"
+            v-model="activeNames"
           >
-            鏄庣粏椤圭洰鍒楄〃
-          </div>
-          <div class="tab3">
-            <el-tree
-              class="filter-tree"
-              v-loading="loading"
-              :data="TreedataList"
-              node-key="proId"
-              :props="defaultProps"
-              :filter-node-method="filterNode"
-              show-checkbox
-              @check-change="handleCurrentChecked1"
-              :default-checked-keys="checkedListkey"
-              :render-content="renderContent"
-            >
-            </el-tree>
-          </div>
-        </el-col>
-        <el-col :span="11">
-          <div class="grid-content bg-purple">
-            <div
-              style="text-align: center; margin-bottom: 10px; margin-top: 10px"
-            >
-              宸查�夐」鐩垪琛�
-            </div>
-            <el-table
-              :data="DataList"
-              border
-              style="width: 100%"
-              height="400"
-              :span-method="objectSpanMethod"
-            >
-              <el-table-column prop="propinName" label="妫�鏌ラ」鐩�">
-              </el-table-column>
-              <el-table-column prop="proPrice" label="鍘熶环" width="56px">
-              </el-table-column>
-              <el-table-column prop="proName" label="鏄庣粏椤圭洰" width="260px">
-              </el-table-column>
-
-              <el-table-column
-                label="鎿嶄綔"
-                align="center"
-                fixed="right"
-                class-name="small-padding fixed-width"
-                width="50px"
-              >
-                <template slot-scope="scope">
-                  <el-button
-                    size="mini"
-                    type="text"
-                    icon="el-icon-delete"
-                    @click="handleDelete(scope.row)"
-                    title="鍒犻櫎"
-                  ></el-button>
-                </template>
-              </el-table-column>
-            </el-table>
-            <el-collapse v-model="activeName" accordion v-if="list1">
-              <div>
-                <el-collapse-item title="璇烽�夋嫨椤圭洰">
-                  <el-table :data="DataList" border style="width: 100%">
-                    <el-table-column prop="proName" label="椤圭洰" width="180">
-                    </el-table-column>
-                    <el-table-column prop="ordPrice" label="鍘熶环">
-                    </el-table-column>
-                  </el-table>
-                </el-collapse-item>
+            <el-tab-pane label="缁勫悎" name="first">
+              <div class="tab8">
+                <el-row :gutter="20" style="width: 100%">
+                  <el-col :span="22">
+                    <!-- <div
+                    style="
+                      text-align: center;
+                      margin-bottom: 10px;
+                      margin-top: 10px;
+                    "
+                  >
+                    椤圭洰鍒楄〃
+                  </div> -->
+                    <el-input
+                      placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�"
+                      v-model="filterage"
+                    >
+                    </el-input>
+                    <div class="tab3">
+                      <el-tree
+                        class="filter-tree"
+                        v-loading="loading"
+                        :data="packageList"
+                        :props="defaultProp"
+                        show-checkbox
+                        node-key="id"
+                        @check-change="handlepackage"
+                        :default-checked-keys="checkedkeys"
+                        :filter-node-method="filterpackage"
+                        ref="treas"
+                        :render-content="renderContents"
+                      >
+                      </el-tree>
+                    </div>
+                  </el-col>
+                  <!-- <el-col :span="11">
+                  <div
+                    style="
+                      text-align: center;
+                      margin-bottom: 10px;
+                      margin-top: 10px;
+                    "
+                  >
+                    鏄庣粏椤圭洰鍒楄〃
+                  </div>
+                  <div class="tab3">
+                    <el-tree
+                      class="filter-tree"
+                      v-loading="loading"
+                      :data="packagedataList"
+                      node-key="proId"
+                      :props="defaultpackProps"
+                      :render-content="renderContent"
+                    >
+                    </el-tree>
+                  </div>
+                </el-col> -->
+                  <!-- <el-col :span="11"> </el-col> -->
+                </el-row>
               </div>
-            </el-collapse>
-            <template>
-              <el-form :model="form">
-                <el-form-item label="浣撴绫诲瀷" prop="tjType">
-                  <el-radio-group v-model="form.tjType">
-                    <el-radio :label="1">鍥㈤槦</el-radio>
-                    <el-radio :label="2">涓汉</el-radio>
-                  </el-radio-group>
-                </el-form-item>
-              </el-form>
-            </template>
+            </el-tab-pane>
+            <el-tab-pane label="鍗曢」" name="third">
+              <div class="tab8">
+                <el-row type="flex" class="row-bg" justify="space-around">
+                  <el-col :span="22">
+                    <!-- <div
+                  style="
+                    text-align: center;
+                    margin-bottom: 10px;
+                    margin-top: 10px;
+                  "
+                >
+                  椤圭洰鍒楄〃
+                </div> -->
+                    <el-input
+                      placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�"
+                      v-model="filterText"
+                    >
+                    </el-input>
+                    <div class="tab3">
+                      <el-tree
+                        class="filter-tree"
+                        v-loading="loading"
+                        :data="Treedata"
+                        :props="defaultProps"
+                        show-checkbox
+                        node-key="proId"
+                        @check-change="handleCurrentChecked"
+                        :default-checked-keys="checkedkey"
+                        :filter-node-method="filterNode"
+                        ref="tree"
+                        :render-content="renderContent"
+                      >
+                      </el-tree>
+                    </div>
+                  </el-col>
+                  <!-- <el-col :span="11">
+                <div
+                  style="
+                    text-align: center;
+                    margin-bottom: 10px;
+                    margin-top: 10px;
+                  "
+                >
+                  鏄庣粏椤圭洰鍒楄〃
+                </div>
+                <div class="tab3">
+                  <div class="outside1">
+                    <el-tree
+                      class="filter-tree"
+                      v-loading="loading"
+                      :data="TreedataList"
+                      node-key="proId"
+                      :props="defaultProps"
+                      :filter-node-method="filterNode"
+                      show-checkbox
+                      @check-change="handleCurrentChecked1"
+                      :default-checked-keys="checkedListkey"
+                      :render-content="renderContent"
+                    >
+                    </el-tree>
+                  </div>
+                </div>
+              </el-col> -->
+                  <!-- <el-col :span="11">
+              <div class="grid-content bg-purple">
+                <div
+                  style="
+                    text-align: center;
+                    margin-bottom: 10px;
+                    margin-top: 10px;
+                  "
+                >
+                  宸查�夐」鐩垪琛�
+                </div>
 
-            <div class="outside">
-              <el-form :inline="true" class="outside1">
-                <el-form-item label="鍘熶环">
-                  <el-input
-                    placeholder="鍘熶环"
-                    :value="TotalPrice1"
-                    disabled
-                    style="width: 90px"
-                  ></el-input>
-                </el-form-item>
-                <el-form-item label="鎶樻墸璁惧畾">
-                  <el-input
-                    style="width: 90px"
-                    type="number"
-                    v-model="discount"
-                    :value="discount"
-                  ></el-input>
-                </el-form-item>
-                <el-form-item label="搴斾粯閲戦">
-                  <el-input
-                    placeholder="搴斾粯閲戦"
-                    :value="TotalPrice1 * (discount / 10)"
-                    style="width: 90px"
-                  ></el-input>
-                </el-form-item>
-                <el-form-item label="浠樻绫诲瀷" prop="payType">
-                  <el-select
-                    style="width: 120px"
-                    v-model="payType"
-                    placeholder="璇烽�夋嫨浠樻绫诲瀷"
+                <el-table
+                  :data="DataList"
+                  border
+                  style="width: 100%"
+                  height="400"
+                  :span-method="objectSpanMethod"
+                >
+                  <el-table-column prop="propinName" label="妫�鏌ラ」鐩�">
+                  </el-table-column>
+                  <el-table-column prop="proPrice" label="鍘熶环" width="56px">
+                  </el-table-column>
+                  <el-table-column
+                    prop="proName"
+                    label="鏄庣粏椤圭洰"
+                    width="260px"
                   >
-                    <el-option
-                      v-for="dict in dict.type.dict_pay_type"
-                      :key="dict.value"
-                      :label="dict.label"
-                      :value="dict.value"
-                    ></el-option>
-                  </el-select>
-                </el-form-item>
-                <el-form-item>
-                  <el-button
-                    type="primary"
-                    @click="submitPrice"
-                    :disabled="confirm"
-                    style="margin-top: 34px"
-                    >鎻愪氦</el-button
+                  </el-table-column>
+
+                  <el-table-column
+                    label="鎿嶄綔"
+                    align="center"
+                    fixed="right"
+                    class-name="small-padding fixed-width"
+                    width="50px"
                   >
-                </el-form-item>
-              </el-form>
-            </div>
+                    <template slot-scope="scope">
+                      <el-button
+                        size="mini"
+                        type="text"
+                        icon="el-icon-delete"
+                        @click="handleDelete(scope.row)"
+                        title="鍒犻櫎"
+                      ></el-button>
+                    </template>
+                  </el-table-column>
+                </el-table> -->
+                  <!-- <el-collapse v-model="activeName" accordion v-if="list1">
+                  <div>
+                    <el-collapse-item title="璇烽�夋嫨椤圭洰">
+                      <el-table
+                        :data="DataList"
+                        border
+                        style="width: 100%"
+                        height="400"
+                        :span-method="objectSpanMethod"
+                      >
+                        <el-table-column
+                          prop="proName"
+                          label="椤圭洰"
+                          width="180"
+                        >
+                        </el-table-column>
+                        <el-table-column prop="ordPrice" label="鍘熶环">
+                        </el-table-column>
+                      </el-table>
+                    </el-collapse-item>
+                  </div>
+                </el-collapse> -->
+                  <!-- </div>
+            </el-col> -->
+                </el-row>
+              </div>
+            </el-tab-pane>
+          </el-tabs>
+        </div>
+
+        <div class="grid-content bg-purple">
+          <div style="text-align: center; margin-bottom: 10px; margin-top: 9px">
+            宸查�夐」鐩垪琛�
           </div>
-        </el-col>
-      </el-row>
+          <el-table
+            :data="DataList3"
+            border
+            style="width: 100%; table-layout: fixed"
+            height="560"
+            :span-method="objectspanmethod"
+          >
+            <el-table-column
+              prop="propinName"
+              label="妫�鏌ラ」鐩�"
+              width="200px"
+              :show-overflow-tooltip="true"
+            >
+            </el-table-column>
+            <el-table-column
+              prop="proName"
+              label="鏄庣粏椤圭洰"
+              width="200px"
+              :show-overflow-tooltip="true"
+            >
+            </el-table-column>
+            <el-table-column prop="sl" label="鏁伴噺" width="56px">
+            </el-table-column>
+            <el-table-column prop="proPrice" label="鍘熶环" width="56px">
+            </el-table-column>
+
+            <el-table-column
+              label="鎿嶄綔"
+              align="center"
+              class-name="small-padding fixed-width"
+              width="50px"
+            >
+              <template slot-scope="scope">
+                <el-button
+                  size="mini"
+                  type="text"
+                  icon="el-icon-delete"
+                  @click="handleDel(scope.row)"
+                  title="鍒犻櫎"
+                ></el-button>
+              </template>
+            </el-table-column>
+          </el-table>
+
+          <!-- <h3 style="font-weight: 600">鍚堣锛歿{ marryalls }}鍏�</h3> -->
+        </div>
+      </div>
+      <el-form
+        :model="form"
+        inline
+        style="display: flex; justify-content: space-between; margin-top: 20px"
+      >
+        <!-- 浣撴绫诲瀷 -->
+        <el-form-item label="浣撴绫诲瀷" prop="tjType" style="display: flex">
+          <div class="type">
+            {{ { 1: "鍥㈤槦", 2: "涓汉", 3: "鍥綋绁�" }[form.tjType] }}
+          </div>
+        </el-form-item>
+
+        <!-- 鍘熶环 -->
+        <el-form-item label="鍘熶环" style="display: flex">
+          <el-input
+            placeholder="鍘熶环"
+            :value="TotalPrice1"
+            disabled
+            style="width: 90px"
+          ></el-input>
+        </el-form-item>
+
+        <!-- 鎶樻墸璁惧畾 -->
+        <el-form-item label="鎶樻墸" style="display: flex">
+          <el-input
+            style="width: 90px"
+            type="number"
+            v-model="discount"
+            :value="discount"
+          ></el-input>
+        </el-form-item>
+
+        <!-- 搴斾粯閲戦 -->
+        <el-form-item label="搴斾粯" style="display: flex">
+          <el-input
+            placeholder="搴斾粯閲戦"
+            :value="TotalPrice1 * (discount / 10)"
+            style="width: 90px"
+          ></el-input>
+        </el-form-item>
+
+        <!-- 浠樻绫诲瀷 -->
+        <el-form-item label="浠樻绫诲瀷" prop="payType" style="display: flex">
+          <el-select
+            style="width: 120px"
+            v-model="payType"
+            placeholder="璇烽�夋嫨浠樻绫诲瀷"
+            @change="onPayTypeChange"
+          >
+            <el-option
+              v-for="dict in dict.type.dict_pay_type"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+
+        <!-- 缁撶畻鏂瑰紡 -->
+        <el-form-item label="缁撶畻鏂瑰紡" prop="jsType" style="display: flex">
+          <el-select
+            v-model="jsType"
+            placeholder="璇烽�夋嫨缁撶畻鏂瑰紡"
+            style="width: 130px"
+            clearable
+          >
+            <el-option
+              v-for="dict in dict.type.reservation_pay_type"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            />
+          </el-select>
+        </el-form-item>
+
+        <!-- 鎻愪氦鎸夐挳 -->
+        <el-form-item style="display: flex">
+          <el-button
+            type="primary"
+            :loading="isSubmit1"
+            @click="submitPrice1"
+            :disabled="confirm"
+          >
+            鎻愪氦
+          </el-button>
+        </el-form-item>
+      </el-form>
     </el-dialog>
 
     <!-- 娣诲姞琛ュ綍椤圭洰 -->
@@ -625,277 +955,402 @@
       width="1100px"
       style="height: 860px"
       append-to-body
+      :close-on-click-modal="false"
     >
-      <el-row type="flex" class="row-bg" justify="space-around">
-        <el-col :span="6">
+      <div class="box">
+        <div class="box1">
           <div
             style="text-align: center; margin-bottom: 10px; margin-top: 10px"
           >
-            椤圭洰鍒楄〃
+            椤圭洰閫夋嫨
           </div>
-          <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" v-model="filterText">
-          </el-input>
-          <div class="tab3">
-            <el-tree
-              class="filter-tree"
-              v-loading="loading"
-              :data="Treedata"
-              :props="defaultProps"
-              show-checkbox
-              node-key="proId"
-              @check="handleCurrentChecked"
-              :default-checked-keys="checkedkey"
-              :filter-node-method="filterNode"
-              ref="tree"
-              :render-content="renderContent"
-            >
-            </el-tree>
-          </div>
-        </el-col>
-        <el-col :span="5">
-          <div
-            style="text-align: center; margin-bottom: 10px; margin-top: 10px"
+          <el-tabs
+            type="border-card"
+            style="height: 560px; margin: 0 10px; width: 100%"
+            @tab-click="handleClick"
+            v-model="activeNames"
           >
-            鏄庣粏椤圭洰鍒楄〃
-          </div>
-          <div class="tab3">
-            <div class="outside1">
-              <el-tree
-                class="filter-tree"
-                v-loading="loading"
-                :data="TreedataList"
-                node-key="proId"
-                :props="defaultProps"
-                :filter-node-method="filterNode"
-                show-checkbox
-                @check-change="handleCurrentChecked1"
-                :default-checked-keys="checkedListkey"
-                :render-content="renderContent"
-              >
-              </el-tree>
-            </div>
-          </div>
-        </el-col>
-        <el-col :span="11">
-          <div class="grid-content bg-purple">
-            <div
-              style="text-align: center; margin-bottom: 10px; margin-top: 10px"
-            >
-              宸查�夐」鐩垪琛�
-            </div>
-
-            <el-table
-              :data="DataList"
-              border
-              style="width: 100%"
-              height="400"
-              :span-method="objectSpanMethod"
-            >
-              <el-table-column prop="propinName" label="妫�鏌ラ」鐩�">
-              </el-table-column>
-              <el-table-column prop="proPrice" label="鍘熶环" width="56px">
-              </el-table-column>
-              <el-table-column prop="proName" label="鏄庣粏椤圭洰" width="260px">
-              </el-table-column>
-
-              <el-table-column
-                label="鎿嶄綔"
-                align="center"
-                fixed="right"
-                class-name="small-padding fixed-width"
-                width="50px"
-              >
-                <template slot-scope="scope">
-                  <el-button
-                    size="mini"
-                    type="text"
-                    icon="el-icon-delete"
-                    @click="handleDelete(scope.row)"
-                    title="鍒犻櫎"
-                  ></el-button>
-                </template>
-              </el-table-column>
-            </el-table>
-            <el-collapse v-model="activeName" accordion v-if="list1">
-              <div>
-                <el-collapse-item title="璇烽�夋嫨椤圭洰">
-                  <el-table
-                    :data="DataList"
-                    border
-                    style="width: 100%"
-                    height="400"
-                    :span-method="objectSpanMethod"
-                  >
-                    <el-table-column prop="proName" label="椤圭洰" width="180">
-                    </el-table-column>
-                    <el-table-column prop="ordPrice" label="鍘熶环">
-                    </el-table-column>
-                  </el-table>
-                </el-collapse-item>
+            <el-tab-pane label="缁勫悎" name="first">
+              <div class="tab8">
+                <el-row :gutter="20" style="width: 100%">
+                  <el-col :span="22">
+                    <el-input
+                      placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�"
+                      v-model="filterage"
+                    >
+                    </el-input>
+                    <div class="tab3">
+                      <el-tree
+                        class="filter-tree"
+                        v-loading="loading"
+                        :data="packageList"
+                        :props="defaultProp"
+                        show-checkbox
+                        node-key="id"
+                        @check-change="handlepackage"
+                        :default-checked-keys="checkedkeys"
+                        :filter-node-method="filterpackage"
+                        ref="treas"
+                        :render-content="renderContents"
+                      >
+                      </el-tree>
+                    </div>
+                  </el-col>
+                </el-row>
               </div>
-            </el-collapse>
+            </el-tab-pane>
+            <el-tab-pane label="鍗曢」" name="third">
+              <div class="tab8">
+                <el-row type="flex" class="row-bg" justify="space-around">
+                  <el-col :span="22">
+                    <el-input
+                      placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�"
+                      v-model="filterText"
+                    >
+                    </el-input>
+                    <div class="tab3">
+                      <el-tree
+                        class="filter-tree"
+                        v-loading="loading"
+                        :data="Treedata"
+                        :props="defaultProps"
+                        show-checkbox
+                        node-key="proId"
+                        @check-change="handleCurrentChecked"
+                        :default-checked-keys="checkedkey"
+                        :filter-node-method="filterNode"
+                        ref="tree"
+                        :render-content="renderContent"
+                      >
+                      </el-tree>
+                    </div>
+                  </el-col>
+                </el-row>
+              </div>
+            </el-tab-pane>
+          </el-tabs>
+        </div>
 
-            <template>
-              <el-form :model="form">
-                <el-form-item label="浣撴绫诲瀷" prop="tjType">
-                  <el-radio-group v-model="form.tjType">
-                    <el-radio :label="1">鍥㈤槦</el-radio>
-                    <el-radio :label="2">涓汉</el-radio>
-                  </el-radio-group>
-                </el-form-item>
-              </el-form>
-            </template>
-
-            <div class="outside">
-              <el-form :inline="true" class="outside1">
-                <el-form-item label="鍘熶环">
-                  <el-input
-                    placeholder="鍘熶环"
-                    :value="TotalPrice1"
-                    disabled
-                    style="width: 90px"
-                  ></el-input>
-                </el-form-item>
-                <el-form-item label="鎶樻墸璁惧畾">
-                  <el-input
-                    style="width: 90px"
-                    type="number"
-                    v-model="discount"
-                    :value="discount"
-                  ></el-input>
-                </el-form-item>
-                <el-form-item label="搴斾粯閲戦">
-                  <el-input
-                    placeholder="搴斾粯閲戦"
-                    :value="TotalPrice1 * (discount / 10)"
-                    style="width: 90px"
-                  ></el-input>
-                </el-form-item>
-                <el-form-item label="浠樻绫诲瀷" prop="payType">
-                  <el-select
-                    style="width: 120px"
-                    v-model="payType"
-                    placeholder="璇烽�夋嫨浠樻绫诲瀷"
-                  >
-                    <el-option
-                      v-for="dict in dict.type.dict_pay_type"
-                      :key="dict.value"
-                      :label="dict.label"
-                      :value="dict.value"
-                    ></el-option>
-                  </el-select>
-                </el-form-item>
-                <el-form-item>
-                  <el-button
-                    type="primary"
-                    @click="submitPrice1"
-                    :disabled="confirm"
-                    style="margin-top: 34px"
-                    >鎻愪氦</el-button
-                  >
-                </el-form-item>
-              </el-form>
-            </div>
+        <div class="grid-content bg-purple">
+          <div style="text-align: center; margin-bottom: 10px; margin-top: 9px">
+            宸查�夐」鐩垪琛�
           </div>
-        </el-col>
-      </el-row>
+          <el-table
+            :data="DataList3"
+            border
+            style="width: 100%; table-layout: fixed"
+            height="560"
+            :span-method="objectspanmethod"
+          >
+            <el-table-column
+              prop="propinName"
+              label="妫�鏌ラ」鐩�"
+              width="200px"
+              :show-overflow-tooltip="true"
+            >
+            </el-table-column>
+            <el-table-column
+              prop="proName"
+              label="鏄庣粏椤圭洰"
+              width="200px"
+              :show-overflow-tooltip="true"
+            >
+            </el-table-column>
+            <el-table-column prop="sl" label="鏁伴噺" width="56px">
+            </el-table-column>
+            <el-table-column prop="proPrice" label="鍘熶环" width="56px">
+            </el-table-column>
+
+            <el-table-column
+              label="鎿嶄綔"
+              align="center"
+              class-name="small-padding fixed-width"
+              width="50px"
+            >
+              <template slot-scope="scope">
+                <el-button
+                  size="mini"
+                  type="text"
+                  icon="el-icon-delete"
+                  @click="handleDel(scope.row)"
+                  title="鍒犻櫎"
+                ></el-button>
+              </template>
+            </el-table-column>
+          </el-table>
+
+          <!-- <h3 style="font-weight: 600">鍚堣锛歿{ marryalls }}鍏�</h3> -->
+        </div>
+      </div>
+
+      <el-form
+        :model="form"
+        inline
+        style="display: flex; justify-content: space-between; margin-top: 20px"
+      >
+        <!-- 浣撴绫诲瀷 -->
+        <el-form-item label="浣撴绫诲瀷" prop="tjType" style="display: flex">
+          <div class="type">
+            {{ { 1: "鍥㈤槦", 2: "涓汉", 3: "鍥綋绁�" }[form.tjType] }}
+          </div>
+        </el-form-item>
+
+        <!-- 鍘熶环 -->
+        <el-form-item label="鍘熶环" style="display: flex">
+          <el-input
+            placeholder="鍘熶环"
+            :value="TotalPrice1"
+            disabled
+            style="width: 90px"
+          ></el-input>
+        </el-form-item>
+
+        <!-- 鎶樻墸璁惧畾 -->
+        <el-form-item label="鎶樻墸" style="display: flex">
+          <el-input
+            style="width: 90px"
+            type="number"
+            v-model="discount"
+            :value="discount"
+          ></el-input>
+        </el-form-item>
+
+        <!-- 搴斾粯閲戦 -->
+        <el-form-item label="搴斾粯" style="display: flex">
+          <el-input
+            placeholder="搴斾粯閲戦"
+            :value="TotalPrice1 * (discount / 10)"
+            style="width: 90px"
+          ></el-input>
+        </el-form-item>
+
+        <!-- 浠樻绫诲瀷 -->
+        <el-form-item label="浠樻绫诲瀷" prop="payType" style="display: flex">
+          <el-select
+            style="width: 120px"
+            v-model="payType"
+            placeholder="璇烽�夋嫨浠樻绫诲瀷"
+            @change="onPayTypeChange"
+          >
+            <el-option
+              v-for="dict in dict.type.dict_pay_type"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+
+        <!-- 缁撶畻鏂瑰紡 -->
+        <el-form-item label="缁撶畻鏂瑰紡" prop="jsType" style="display: flex">
+          <el-select
+            v-model="jsType"
+            placeholder="璇烽�夋嫨缁撶畻鏂瑰紡"
+            style="width: 130px"
+            clearable
+          >
+            <el-option
+              v-for="dict in dict.type.reservation_pay_type"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            />
+          </el-select>
+        </el-form-item>
+
+        <!-- 鎻愪氦鎸夐挳 -->
+        <el-form-item style="display: flex">
+          <el-button
+            type="primary"
+            :loading="isSubmit1"
+            @click="submitPrice1"
+            :disabled="confirm"
+          >
+            鎻愪氦
+          </el-button>
+        </el-form-item>
+      </el-form>
+
+      <!-- <div class="heji">
+        <div class="o">
+          <el-form
+            :model="form"
+            :inline="true"
+            style="display: flex; align-items: center"
+          >
+            <el-form-item label="浣撴绫诲瀷" prop="tjType">
+              <div class="type">
+                {{ { 1: "鍥㈤槦", 2: "涓汉", 3: "鍥綋绁�" }[form.tjType] }}
+              </div>
+            </el-form-item>
+          </el-form>
+        </div>
+
+        <div class="outsides">
+          <el-form :inline="true" class="outside2" label-width="80px">
+            <el-form-item label="鍘熶环" style="display: flex">
+              <el-input
+                placeholder="鍘熶环"
+                :value="TotalPrice1"
+                disabled
+                style="width: 90px"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="鎶樻墸璁惧畾" style="display: flex">
+              <el-input
+                style="width: 90px"
+                type="number"
+                v-model="discount"
+                :value="discount"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="搴斾粯閲戦" style="display: flex">
+              <el-input
+                placeholder="搴斾粯閲戦"
+                :value="TotalPrice1 * (discount / 10)"
+                style="width: 90px"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="浠樻绫诲瀷" prop="payType" style="display: flex">
+              <el-select
+                style="width: 120px"
+                v-model="payType"
+                placeholder="璇烽�夋嫨浠樻绫诲瀷"
+                @change="onPayTypeChange"
+              >
+                <el-option
+                  v-for="dict in dict.type.dict_pay_type"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="缁撶畻鏂瑰紡" prop="payType">
+              <el-select
+                v-model="payType"
+                placeholder="璇烽�夋嫨缁撶畻鏂瑰紡"
+                style="width: 130px"
+                clearable
+              >
+                <el-option
+                  v-for="dict in dict.type.reservation_pay_type"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                />
+              </el-select>
+            </el-form-item>
+            <el-form-item style="display: flex">
+              <el-button
+                type="primary"
+                @click="submitPrice1"
+                :disabled="confirm"
+                >鎻愪氦</el-button
+              >
+            </el-form-item>
+          </el-form>
+        </div>
+      </div> -->
     </el-dialog>
 
-    <!-- 娣诲姞鎴栦慨鏀逛綋妫�璁板綍瀵硅瘽妗� -->
-    <el-dialog :title="title" :visible.sync="open" width="950px" append-to-body >
+    <el-dialog
+      :title="title"
+      :visible.sync="open"
+      width="1400px"
+      append-to-body
+      :close-on-click-modal="false"
+      class="custom-dialog"
+    >
       <el-tabs v-model="activeName1" type="card">
-        <!-- <el-tab-pane label="璁㈠崟娴佹按" name="first">
-          <el-table :data="numberList" style="width: 100%">
-            <el-table-column prop="proName" label="椤圭洰/鑰楁潗" width="300">
-            </el-table-column>
-            <el-table-column prop="price" label="鍗曚环" width="300">
-            </el-table-column>
-            <el-table-column prop="count" label="鏁伴噺" width="300">
-            </el-table-column>
-          </el-table>
-          <el-table :data="bill" style="width: 100%">
-            <el-table-column prop="copeWith" label="搴斾粯" width="180">
-            </el-table-column>
-            <el-table-column prop="discount" label="鎶樻墸" width="180">
-            </el-table-column>
-            <el-table-column prop="paidIn" label="瀹炰粯" width="180">
-            </el-table-column>
-            <el-table-column prop="payType" label="浠樻鏂瑰紡" width="180">
-              <template slot-scope="scope">
-                <span v-if="scope.row.payType == '0'">鐜伴噾鏀粯</span>
-                <span v-if="scope.row.payType == '1'">鍒峰崱鏀粯</span>
-                <span v-if="scope.row.payType == '2'">鏀粯瀹濇敮浠�</span>
-                <span v-if="scope.row.payType == '3'">寰俊鏀粯</span>
-                <span v-if="scope.row.payType == '4'">浜戦棯浠樻敮浠�</span>
-              </template>
-            </el-table-column>
-            <el-table-column prop="payStasus" label="浠樻鐘舵��" width="180">
-              <template slot-scope="scope">
-                <span v-if="scope.row.payStasus == '0'">鏈粯娆�</span>
-                <span v-if="scope.row.payStasus == '1'">宸蹭粯娆�</span>
-                <span v-if="scope.row.payStasus == '2'">閫�璐�</span>
-                <span v-if="scope.row.payStasus == '3'">棰勪粯娆�</span>
-              </template>
-            </el-table-column>
-          </el-table>
-        </el-tab-pane> -->
-        <el-tab-pane label="椤圭洰姹囨��" name="second" style="height: 400px;">
-          <el-table :data="huizongList" style="width: 100%" max-height="200">
+        <el-tab-pane label="椤圭洰姹囨��" name="second" style="height: 400px">
+          <el-table :data="huizongList" style="width: 100%" max-height="350">
             <el-table-column
               align="center"
-              prop="newID"
+              type="index"
               label="搴忓彿"
               width="50"
-            >
-            </el-table-column>
-            <el-table-column align="center" prop="parent_pro_name" label="椤圭洰">
-            </el-table-column>
-            <el-table-column align="center" prop="ks" label="绉戝">
-            </el-table-column>
-            <el-table-column align="center" prop="price" label="璐圭敤鍚堣">
-            </el-table-column>
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              prop="parent_pro_name"
+              label="椤圭洰"
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              prop="ks"
+              label="绉戝"
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              prop="price"
+              label="璐圭敤鍚堣"
+            ></el-table-column>
           </el-table>
           <h3>浠樻璇︽儏</h3>
           <el-table :data="bill" style="width: 100%; margin-top: 10px">
-            <el-table-column align="center" prop="copeWith" label="搴斾粯">
-            </el-table-column>
-            <el-table-column align="center" prop="discount" label="鎶樻墸">
-            </el-table-column>
-            <el-table-column align="center" prop="paidIn" label="瀹炰粯">
-            </el-table-column>
+            <el-table-column
+              align="center"
+              prop="copeWith"
+              label="搴斾粯"
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              prop="discount"
+              label="鎶樻墸"
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              prop="paidIn"
+              label="瀹炰粯"
+            ></el-table-column>
           </el-table>
         </el-tab-pane>
-        <el-tab-pane label="鏄庣粏椤圭洰" name="third" style="height: 350px;">
+        <el-tab-pane label="鏄庣粏椤圭洰" name="third" style="height: 450px">
+          <!-- 绉婚櫎 overflow-y: auto -->
           <el-table
             :data="infoList"
-            style="width: 100%"
-            max-height="330"
+            style="width: 100"
+            max-height="500"
             :span-method="objectSpanMethod1"
           >
             <el-table-column
               align="center"
-              prop="newID"
+              type="index"
               label="搴忓彿"
               width="50"
-            >
-            </el-table-column>
-            <el-table-column align="center" prop="parent_pro_name" label="鐖堕」">
-            </el-table-column>
-            <el-table-column align="center" prop="pro_name" label="瀛愰」">
-            </el-table-column>
-            <el-table-column align="center" prop="danjia" label="鍗曚环">
-            </el-table-column>
-            <el-table-column align="center" prop="num" label="鏁伴噺">
-            </el-table-column>
-            <el-table-column align="center" prop="zongjia" label="鎬讳环">
-            </el-table-column>
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              prop="parent_pro_name"
+              label="鐖堕」"
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              prop="pro_name"
+              label="瀛愰」"
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              prop="danjia"
+              label="鍗曚环"
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              prop="num"
+              label="鏁伴噺"
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              prop="zongjia"
+              label="鎬讳环"
+            ></el-table-column>
             <el-table-column
               align="center"
               prop="time"
               label="寮�鍗曟椂闂�"
               width="180"
-            >
-            </el-table-column>
+            ></el-table-column>
           </el-table>
         </el-tab-pane>
       </el-tabs>
@@ -910,6 +1365,7 @@
       width="1100px"
       style="height: 860px"
       append-to-body
+      :close-on-click-modal="false"
     >
       <el-row type="flex" class="row-bg" justify="space-around">
         <el-col :span="13">
@@ -920,7 +1376,13 @@
           </div>
 
           <div class="tab3">
-            <el-table :data="DataLists" border style="width: 100%" height="400"  @selection-change="handleProjectssChange" >
+            <el-table
+              :data="DataLists"
+              border
+              style="width: 100%"
+              height="400"
+              @selection-change="handleProjectssChange"
+            >
               <el-table-column type="selection" width="40" align="center" />
               <el-table-column
                 type="index"
@@ -957,7 +1419,6 @@
                 width="96px"
               >
               </el-table-column>
-             
             </el-table>
           </div>
         </el-col>
@@ -991,6 +1452,115 @@
         <!-- <el-button @click="cancel">鍙� 娑�</el-button> -->
       </div>
     </el-dialog>
+
+    <el-dialog
+      :title="title1"
+      :visible.sync="budadaozhen"
+      width="1100px"
+      style="height: 860px"
+      append-to-body
+      :close-on-click-modal="false"
+    >
+      <el-row type="flex" class="row-bg" justify="space-around">
+        <el-col :span="13">
+          <div
+            style="text-align: center; margin-bottom: 10px; margin-top: 10px"
+          >
+            琛ュ綍鍒楄〃
+          </div>
+
+          <div class="tab3">
+            <el-table
+              :data="DataLists"
+              border
+              style="width: 100%"
+              height="400"
+              @selection-change="handleProjectssChange"
+            >
+              <el-table-column type="selection" width="40" align="center" />
+              <el-table-column
+                type="index"
+                label="搴忓彿"
+                align="center"
+                width="49px"
+              >
+              </el-table-column>
+              <el-table-column
+                prop="blje"
+                label="琛ュ綍閲戦"
+                align="center"
+                width="74px"
+              >
+              </el-table-column>
+              <el-table-column
+                prop="bldh"
+                label="琛ュ綍鍗曞彿"
+                align="center"
+                width="155px"
+              >
+              </el-table-column>
+              <el-table-column
+                prop="blsj"
+                label="琛ュ綍鏃堕棿"
+                align="center"
+                width="156px"
+              >
+              </el-table-column>
+              <el-table-column
+                prop="blrmc"
+                label="琛ュ綍浜�"
+                align="center"
+                width="96px"
+              >
+              </el-table-column>
+            </el-table>
+          </div>
+        </el-col>
+
+        <el-col :span="10">
+          <div class="grid-content bg-purple">
+            <div
+              style="text-align: center; margin-bottom: 10px; margin-top: 10px"
+            >
+              琛ュ綍椤圭洰
+            </div>
+            <el-table
+              :data="DataListss"
+              border
+              style="width: 100%"
+              height="400"
+              :span-method="objectSpanMethod2"
+            >
+              <el-table-column prop="propinName" label="妫�鏌ラ」鐩�">
+              </el-table-column>
+              <el-table-column prop="proPrice" label="鍘熶环" width="56px">
+              </el-table-column>
+              <el-table-column prop="proName" label="鏄庣粏椤圭洰" width="260px">
+              </el-table-column>
+            </el-table>
+          </div>
+        </el-col>
+      </el-row>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="dayin">鎵� 鍗�</el-button>
+        <!-- <el-button @click="cancel">鍙� 娑�</el-button> -->
+      </div>
+    </el-dialog>
+
+    <el-dialog
+      title="璇烽�夋嫨瀵煎嚭鑼冨洿"
+      :visible.sync="exportDialogVisible"
+      width="30%"
+    >
+      <el-radio-group v-model="exportType">
+        <el-radio :label="'0'">褰撳墠椤垫暟鎹�</el-radio>
+        <el-radio :label="'1'">鍏ㄩ儴鏁版嵁</el-radio>
+      </el-radio-group>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="exportDialogVisible = false">鍙栨秷</el-button>
+        <el-button type="primary" @click="confirmExport">纭畾</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 
@@ -1002,30 +1572,59 @@
   getOrderList,
   getNewDateList,
   revokeTjOrderByTjNum,
+  huifuyuyuejilu,
   getTransitionInfo,
-  getBlproByTjh,revokeBlProByBldhAndTjh
+  getBlproByTjh,
+  revokeBlProByBldhAndTjh,
+  getForceChexiao,
 } from "@/api/hosp/order";
 import moment from "moment";
+import { getZhList, getlistByZhId } from "@/api/system/package";
 import { getwater } from "@/api/hosp/customer";
+import { getInfo } from "@/api/login";
 import ViewPdf from "@/components/ViewPdf";
 import {
-  projectGetList,
+  shijianzhou,
   getaddtTransition,
   getProParentIdDxList,
   getProSonDxList,
+  getaddtTransition1,
 } from "@/api/system/tijian";
+import {
+  SubmitCompany,
+  getCompany,
+  queryCompany,
+  addbatch,
+} from "@/api/team/tuanti";
 export default {
   components: {
     ViewPdf,
   },
-  dicts: ["dict_pay_type"],
+  dicts: ["dict_pay_type", "dict_team", "reservation_pay_type"],
   name: "Order",
   data() {
     return {
+      ztList: [
+        { name: "鏈", id: 0 },
+        { name: "鍦ㄦ", id: 1 },
+        { name: "宸插畬鎴�", id: 2 },
+        { name: "宸插鏍�", id: 3 },
+        { name: "鐢熸垚鎶ュ憡", id: 4 },
+        { name: "鎶ュ憡鏍告敹", id: 5 },
+        { name: "宸插嚭鎶ュ憡", id: 6 },
+      ],
+      DataList3: [],
+      bldhid: "",
+      budadaozhen: false,
+      isLoading: false,
+      isSubmit: false,
+      isSubmit1: false,
       huizongList: [],
-      DataLists:[],
+      DataLists: [],
       infoList: [],
-      bldhs:[],
+      bldhs: [],
+      CompanyList: [],
+      filterage: "",
       activeName1: "second",
       filterText: "",
       orderIds: "",
@@ -1035,13 +1634,21 @@
       cusIds: "",
       userIds: "",
       cusIdcard: "",
+      defaultpackProps: {
+        children: [],
+        label: "proName",
+      },
       cusName: "",
       cusPhone: "",
       cusSex: "",
       reportTimeList: "",
       createTimeList: "",
+      packagedataList: [],
       cusId: "",
       payType: "0",
+      jsType: "0",
+      packageList: [],
+      checkedkeys: [],
       dialogVisible: false,
       daoZhenDan: false,
       Projectopen: false,
@@ -1051,24 +1658,32 @@
       flag: true,
       bill: [],
       Treedata: [],
-      DataListss:[],
+      DataListss: [],
       checkedkey: [],
       checkedListkey: [],
       defaultProps: {
         children: [],
         label: "proName",
       },
+      defaultProp: {
+        children: [],
+        label: "zhmc",
+      },
       TreedataList: [],
       discount: 10,
       DataList: [],
+      shijianlist: [],
       // 濂楅鎻愪氦鎸夐挳
       confirm: false,
       list1: true,
       activeName: "1",
       proIds: [],
       TotalPrice1: 0,
+      TotalPrice6: 0,
+      TotalPrice7: 0,
       numberList: [],
       dialogVisible: false,
+      CheckBox: {},
       // 閬僵灞�
       loading: true,
       // 閫変腑鏁扮粍
@@ -1076,8 +1691,10 @@
       dataObj: {},
       // 闈炲崟涓鐢�
       single: true,
+      activeNames: "first",
       // 闈炲涓鐢�
       multiple: true,
+      tjNUms: [],
       // 鏄剧ず鎼滅储鏉′欢
       showSearch: true,
       userId: "",
@@ -1090,8 +1707,12 @@
       orderId: "",
       // 鏄惁鏄剧ず寮瑰嚭灞�
       open: false,
+      Datalists: [],
       // 鏃ユ湡鑼冨洿
       datetimerange: [],
+      marryalls: 0,
+      exportDialogVisible: false, // 鎺у埗寮规
+      exportType: "0", // dqyorqbsj 鐨勫�硷紝榛樿褰撳墠椤�
       // 鏌ヨ鍙傛暟
       queryParams: {
         pageNum: 1,
@@ -1101,6 +1722,9 @@
         tjNum: null,
         bgbeginTime: null,
         bgendTime: null,
+        xmmc: null,
+        tjCompName: "",
+        dw: null,
       },
       startTime: "",
       startTime1: "",
@@ -1143,9 +1767,13 @@
       },
     };
   },
+
   watch: {
     filterText(val) {
       this.$refs.tree.filter(val);
+    },
+    filterage(val) {
+      this.$refs.treas.filter(val);
     },
   },
   created() {
@@ -1159,6 +1787,39 @@
     });
   },
   methods: {
+    findNameByTjnum(tjnum) {
+      const order = this.orderList.find(
+        (orderItem) => orderItem.tjNumber === tjnum
+      );
+      return order ? order.tjCustomerName : "鏈壘鍒�"; // 濡傛灉鎵句笉鍒板搴旂殑椤癸紝杩斿洖涓�涓粯璁ゅ��
+    },
+    // 鎼滅储
+    getRemoteData(query) {
+      if (query) {
+        let compName = query;
+        queryCompany(compName).then((response) => {
+          this.CompanyList = response.data;
+          this.CompanyList.forEach((item) => {
+            this.queryParams = item;
+          });
+        });
+      }
+    },
+    // 閫夋鏁版嵁
+    searchSelect(val) {
+      this.CheckBox = val;
+      this.queryParams.dw = this.CheckBox.cnName;
+      console.log(this.CheckBox, 9999);
+    },
+    onPayTypeChange() {
+      if (this.payType === "6" && this.form.tjType !== 3) {
+        this.cannotSelectPayType = true;
+        this.$message.warning("璇ヤ粯娆剧被鍨嬪湪姝や綋妫�绫诲瀷涓嬩笉鍏佽閫夋嫨锛�");
+        this.payType = this.dict.type.dict_pay_type[0]?.value || null;
+      } else {
+        this.cannotSelectPayType = false;
+      }
+    },
     getdate() {
       getNewDateList().then((res) => {
         if (res.data) {
@@ -1218,6 +1879,46 @@
     },
     /** 鏌ヨ浣撴璁板綍鍒楄〃 */
     getList() {
+      this.queryParams.compId = this.CheckBox.drugManufacturerId;
+      if (this.startTime) {
+        this.queryParams.djbeginTime = this.startTime[0];
+        this.queryParams.djendTime = this.startTime[1];
+      } else if (this.createTimeList) {
+        this.queryParams.djbeginTime = this.createTimeList[0];
+        this.queryParams.djendTime = this.createTimeList[1];
+      } else if (this.createTimeList == null) {
+        this.queryParams.djbeginTime = null;
+        this.queryParams.djendTime = null;
+      }
+      if (this.startTime1) {
+        this.queryParams.bgbeginTime = this.startTime1[0];
+        this.queryParams.bgendTime = this.startTime1[1];
+      }
+
+      this.loading = true;
+      getOrderList(this.queryParams).then((response) => {
+        this.orderList = response.data.list;
+        if (this.orderList) {
+          this.orderList.forEach((item, index) => {
+            item.newID =
+              (this.queryParams.pageNum - 1) * this.queryParams.pageSize +
+              index +
+              1;
+          });
+        }
+        this.total = response.data.total;
+        this.loading = false;
+      });
+      // 鑾峰彇鍗曚綅淇℃伅闆嗗悎
+      getCompany(this.queryParams).then((response) => {
+        this.CompanyList = response.data;
+
+        this.loading = false;
+      });
+    },
+
+    sub() {
+      this.queryParams.compId = this.CheckBox.drugManufacturerId;
       if (this.startTime) {
         this.queryParams.djbeginTime = this.startTime[0];
         this.queryParams.djendTime = this.startTime[1];
@@ -1265,9 +1966,13 @@
       });
     },
     /** 鐐瑰嚮鏄剧ず瀵兼鍗曟姤琛�*/ //lige    寮�濮�
-    handleReport1(row) {
+    /* handleReport1(row) {
       const tjNumber = this.tjnumbers;
       const viewNum = "792931586196398080";
+      getInfo().then(((res)=>{
+        console.log(res,123);
+        
+      }))
       const params = { viewNum, tjNumber };
       hasReport(tjNumber).then((res) => {
         if (res == 1) {
@@ -1276,17 +1981,50 @@
           this.$message.error("璇ョ敤鎴锋殏鏃犻」鐩紒");
         }
       });
+    }, */
+    handleReport1(row) {
+      const tjNumber = this.tjnumbers;
+      const viewNum = "792931586196398080";
+      // 鍏堣皟鐢� getInfo 鑾峰彇 userId
+      getInfo()
+        .then((res) => {
+          console.log(res, 1111);
+
+          const dqdlr = res.user.userId; // 鑾峰彇 userId
+          console.log("User ID:", dqdlr);
+          const params = { viewNum, tjNumber, dqdlr }; // 灏� userId 鍔犲叆 params
+
+          // 鍐嶈皟鐢� hasReport 妫�鏌ユ姤鍛婄姸鎬�
+          hasReport(tjNumber).then((reportRes) => {
+            if (reportRes === 1) {
+              this.$tab.openPage("瀵艰瘖鍗�", "/report/breDailyReport", params);
+            } else {
+              this.$message.error("璇ョ敤鎴锋殏鏃犻」鐩紒");
+            }
+          });
+        })
+        .catch(() => {
+          this.$message.error("鏃犳硶鑾峰彇鐢ㄦ埛淇℃伅锛�");
+        });
     },
 
-    handleRevoke() {
-      this.$confirm("鎮ㄧ‘璁よ鎾ら攢锛�", "纭淇℃伅", {
-        distinguishCancelAndClose: true,
-        confirmButtonText: "纭",
-        cancelButtonText: "鍙栨秷",
-      })
+    // 寮哄埗鎾ら攢鎸夐挳
+    ForceChexiao() {
+      const tjNum = this.tjnumbers;
+      this.$confirm(
+        "鎮ㄦ槸鍚﹂渶瑕佸己鍒舵挙閿�锛熸挙閿�鍚庤浜哄憳鏈浣撴璁板綍涓嶅彲鎭㈠锛�",
+        "纭淇℃伅",
+        {
+          distinguishCancelAndClose: true,
+          confirmButtonText: "纭",
+          cancelButtonText: "鍙栨秷",
+          customClass: "custom-message-box",
+        }
+      )
+
         .then(() => {
-          revokeTjOrderByTjNum(this.tjnumbers).then((res) => {
-            this.$modal.msgSuccess(res.msg);
+          getForceChexiao(tjNum).then((res) => {
+            this.$modal.msgSuccess("鎾ら攢鎴愬姛");
             this.getList();
           });
         })
@@ -1297,6 +2035,71 @@
               message: "宸插彇娑�",
             });
           }
+        });
+      this.$nextTick(() => {
+        // 纭繚寮规娓叉煋鍚庡簲鐢ㄦ牱寮�
+        const messageBox = document.querySelector(
+          ".custom-message-box .el-message-box__message"
+        );
+        if (messageBox) {
+          messageBox.style.color = "red"; // 閫氳繃 JS 寮哄埗璁剧疆棰滆壊
+        }
+      });
+    },
+
+    ResumeAppointment() {
+      this.isLoading = true;
+      this.$confirm("鎮ㄧ‘璁よ鎭㈠棰勭害锛�", "纭淇℃伅", {
+        distinguishCancelAndClose: true,
+        confirmButtonText: "纭",
+        cancelButtonText: "鍙栨秷",
+      })
+        .then(() => {
+          huifuyuyuejilu(this.tjNUms).then((res) => {
+            this.$modal.msgSuccess("鎭㈠鎴愬姛");
+            // this.isLoading = false;
+            this.getList();
+          });
+        })
+        .catch((action) => {
+          if (action === "cancel") {
+            this.$message({
+              type: "warning",
+              message: "宸插彇娑�",
+            });
+          }
+        })
+        .finally(() => {
+          // 涓嶈鎿嶄綔鎴愬姛杩樻槸澶辫触锛岄兘浼氭墽琛�
+          this.isLoading = false;
+        });
+    },
+
+    handleRevoke() {
+      this.isLoading = true;
+      this.$confirm("鎮ㄧ‘璁よ鎾ら攢锛�", "纭淇℃伅", {
+        distinguishCancelAndClose: true,
+        confirmButtonText: "纭",
+        cancelButtonText: "鍙栨秷",
+      })
+        .then(() => {
+          revokeTjOrderByTjNum(this.tjnumbers).then((res) => {
+            this.$modal.msgSuccess("鎾ら攢鎴愬姛");
+            // this.isLoading = false;
+            this.getList();
+          });
+        })
+        .catch((action) => {
+          if (action === "cancel") {
+            this.$message({
+              type: "warning",
+              message: "宸插彇娑�",
+            });
+          }
+        })
+        .finally(() => {
+          // 涓嶈鎿嶄綔鎴愬姛杩樻槸澶辫触锛岄兘浼氭墽琛�
+          this.isLoading = false;
         });
     },
     /** 鐐瑰嚮鏄剧ず浣撴鎶ュ憡鎶ヨ〃*/
@@ -1380,6 +2183,7 @@
         djendTime: null,
         bgbeginTime: null,
         bgendTime: null,
+        dw: null,
       };
       this.resetForm("form");
     },
@@ -1391,7 +2195,55 @@
     /** 鎼滅储鎸夐挳鎿嶄綔 */
     handleQuery() {
       this.queryParams.pageNum = 1;
-      this.getList();
+      // this.getList();
+      this.sub();
+    },
+    renderContents(h, { node, data, store }) {
+      return (
+        <span class="custom-tree-node">
+          <span>{node.label}</span>
+          <span>({data.price}鍏�)</span>
+        </span>
+      );
+    },
+
+    objectspanmethod({ row, column, rowIndex, columnIndex }) {
+      let fields = ["propinName"];
+      let cellValue = row[column.property];
+      if (cellValue && fields.includes(column.property)) {
+        let prevRow = this.Datalists[rowIndex - 1];
+        let nextRow = this.Datalists[rowIndex + 1];
+        if (prevRow && prevRow[column.property] === cellValue) {
+          return { rowspan: 0, colspan: 0 };
+        } else {
+          let countRowspan = 1;
+          while (nextRow && nextRow[column.property] === cellValue) {
+            nextRow = this.Datalists[++countRowspan + rowIndex];
+          }
+
+          if (countRowspan > 1) {
+            return { rowspan: countRowspan, colspan: 1 };
+          }
+        }
+      }
+
+      // if (columnIndex == 3) {
+      //   let rowspan = 0;
+      //   this.DataLists.forEach((element) => {
+      //     if (element.propinName === row.propinName) {
+      //       rowspan++;
+      //     }
+      //   });
+      //   return [rowspan, 1];
+      // }
+    },
+    filterpackage(value, data) {
+      if (!value) return true;
+      if (data.zhmc.indexOf(value) !== -1) {
+        return data.zhmc.indexOf(value) !== -1;
+      } else {
+        return data.pym.indexOf(value) !== -1;
+      }
     },
     /** 閲嶇疆鎸夐挳鎿嶄綔 */
     resetQuery() {
@@ -1399,10 +2251,24 @@
       this.startTime1 = [];
       this.createTimeList = [];
       this.resetForm("queryForm");
+      this.queryParams = {
+        pageNum: 1,
+        pageSize: 10,
+        djbeginTime: null,
+        djendTime: null,
+        tjNum: null,
+        bgbeginTime: null,
+        bgendTime: null,
+        xmmc: null,
+        tjCompName: "",
+        dw: null,
+      };
       this.handleQuery();
     },
     // 澶氶�夋閫変腑鏁版嵁
     handleSelectionChange(selection) {
+      let tjNUms = selection.map((item) => item.tjNumber);
+      this.tjNUms = selection.map((item) => item.tjNumber);
       selection.forEach((item) => {
         this.orderIds = item.orderId;
         this.tjnumbers = item.tjNumber;
@@ -1412,11 +2278,19 @@
         this.cusName = item.tjCustomerName;
         this.cusPhone = item.tjCustomerPhone;
         this.cusSex = item.tjCustomerSex;
+        this.form.tjType = parseInt(item.tjType);
       });
+
       this.ids = selection.map((item) => item.orderId);
-      // this.tjNumbers = selection.map((item) => item.tjNumber);
       this.single = selection.length !== 1;
       this.multiple = !selection.length;
+      if (tjNUms.length > 0) {
+        shijianzhou(tjNUms).then((res) => {
+          this.shijianlist = res.data;
+        });
+      } else {
+        this.shijianlist = [];
+      }
     },
     /** 鏂板鎸夐挳鎿嶄綔 */
     // handleAdd() {
@@ -1432,16 +2306,20 @@
       getNumber(tjNumber).then((response) => {
         // this.form = response.data;
         this.numberList = response.data.charging;
-        this.bill =[]
+        this.bill = [];
         var copeWith = 0;
         var paidIn = 0;
-        var discount = ""
-        response.data.water.forEach(item => {
+        var discount = "";
+        response.data.water.forEach((item) => {
           copeWith += item.copeWith;
-          paidIn+= item.copeWith;
-          discount= item.discount
-        })
-        this.bill.push({copeWith:copeWith,paidIn:paidIn,discount:discount});
+          paidIn += item.paidIn;
+          discount = item.discount;
+        });
+        this.bill.push({
+          copeWith: copeWith,
+          paidIn: paidIn,
+          discount: discount,
+        });
 
         this.title = "璁㈠崟娴佹按";
       });
@@ -1469,18 +2347,21 @@
       getNumber(tjNumber).then((response) => {
         // this.form = response.data;
         this.numberList = response.data.charging;
-        this.bill =[]
+        this.bill = [];
         var copeWith = 0;
         var paidIn = 0;
-        var discount = ""
-        response.data.water.forEach(item => {
+        var discount = "";
+        response.data.water.forEach((item) => {
           copeWith += item.copeWith;
-          paidIn+= item.copeWith;
-          discount= item.discount
-        })
-        this.bill.push({copeWith:copeWith,paidIn:paidIn,discount:discount});
+          paidIn += item.paidIn;
+          discount = item.discount;
+        });
+        this.bill.push({
+          copeWith: copeWith,
+          paidIn: paidIn,
+          discount: discount,
+        });
 
-        console.log(this.bill)
         this.title = "璁㈠崟娴佹按";
       });
       getTransitionInfo(tjNumber).then((res) => {
@@ -1500,11 +2381,216 @@
         });
       });
     },
+    budadzd() {
+      this.bldhs = [];
+      this.bldhid = "";
+      getBlproByTjh(this.tjnumbers).then((res) => {
+        if (res.data) {
+          this.DataLists = res.data;
+          this.budadaozhen = true;
+          this.title1 = "琛ユ墦瀵艰瘖鍗�";
+        } else {
+          this.$message({
+            type: "warning ",
+            message: "璇ュ鎴锋病鏈夎ˉ褰曢」鐩�",
+          });
+        }
+      });
+    },
+    dayin() {
+      // this.bldhs = [];
+      console.log(this.bldhs);
+      this.bldhid.toString(this.bldhs);
+      this.bldhs.forEach((item) => {
+        console.log(item, 666);
+        this.bldhid += item + ",";
+      });
+      // this.bldhid = this.bldhs.toString()
+      console.log(this.bldhid);
+      const tjNumber = this.tjnumbers;
+      const viewNum = "983185234038140928";
+      const jxbz = this.bldhid;
+      // const params = { viewNum, tjNumber, jxbz };
+      // console.log(params);
+      getInfo().then((res) => {
+        console.log(res, 1111);
+        const dqdlr = res.user.userId; // 鑾峰彇 userId
+        const params = { viewNum, tjNumber, jxbz, dqdlr };
+
+        hasReport(tjNumber).then((res) => {
+          if (res == 1) {
+            this.$tab.openPage("瀵艰瘖鍗�", "/report/budabreDailyReport", params);
+            this.budadaozhen = false;
+          } else {
+            this.$message.error("璇ョ敤鎴锋殏鏃犻」鐩紒");
+          }
+        });
+      });
+      /* hasReport(tjNumber).then((res) => {
+        if (res == 1) {
+          this.$tab.openPage("瀵艰瘖鍗�", "/report/budabreDailyReport", params);
+          this.budadaozhen = false;
+        } else {
+          this.$message.error("璇ョ敤鎴锋殏鏃犻」鐩紒");
+        }
+      }); */
+    },
+
+    handleClick(tab, event) {
+      if (this.activeNames == "first") {
+        // this.marryalls = 0;
+        // this.Datalists = [];
+        this.checkedkeys = [];
+
+        this.DataList3 = [];
+        getZhList().then((response) => {
+          if (response.data) {
+            this.packageList = response.data;
+          }
+          this.loading = false;
+        });
+      } else {
+        // this.TotalPrice1 = 0;
+        this.checkedkeys = [];
+        // this.DataList = [];
+        this.Datalists = [];
+        this.DataList3 = [];
+        this.getDataList();
+        // if (this.marryalls != 0) {
+        //   this.TotalPrice1 += this.marryalls;
+        // }
+      }
+    },
+    handlepackage(data, checked, checkedNodes) {
+      if (checked == true) {
+        // this.$refs.treas.setCheckedKeys([data.id]);
+        let datas = {
+          zhId: data.id,
+        };
+
+        getlistByZhId(datas).then((res) => {
+          this.packagedataList = res.data.tjProjectList;
+          for (var i = 0; i < this.packagedataList.length; i++) {
+            let proId = this.packagedataList[i].proId;
+            getProSonDxList(proId).then((res) => {
+              this.TreedataList = res.data.list;
+              this.TreedataList.forEach((item) => {
+                this.Datalists.push(item);
+              });
+
+              // 鍚堝苟 Datalists 鍜� DataList 鍒� DataList3
+              this.DataList3 = this.DataList.concat(this.Datalists);
+
+              // 娓呯┖绱姞鍣�
+              this.marryalls = 0;
+              this.TotalPrice1 = 0;
+
+              // 閲嶆柊璁$畻浠锋牸
+              this.DataList3.forEach((item) => {
+                console.log(item.proPrice);
+                this.TotalPrice1 += item.proPrice * item.sl;
+                this.marryalls += item.proPrice * item.sl;
+              });
+
+              // 涓烘瘡涓」鐩坊鍔� propinName
+              this.Datalists.forEach((item1) => {
+                this.packagedataList.forEach((item3) => {
+                  if (item1.proParentId == item3.proId) {
+                    item1.propinName = item3.proName;
+                  }
+                });
+              });
+            });
+          }
+        });
+      } else if (checked == false) {
+        let datas = {
+          zhId: data.id,
+        };
+
+        this.marryalls = 0;
+
+        // 娓呯┖ Datalists 鍜� DataList3
+        this.Datalists = [];
+        this.DataList3 = [...this.DataList]; // 閲嶆柊璁剧疆 DataList3锛屼粎鍖呭惈鍘熷 DataList
+
+        getlistByZhId(datas).then((res) => {
+          this.packagedataList = res.data.tjProjectList;
+          for (var i = 0; i < this.packagedataList.length; i++) {
+            let proId = this.packagedataList[i].proId;
+            getProSonDxList(proId).then((res) => {
+              this.TreedataList = res.data.list;
+              this.checkedListkey = this.checkedListkey.filter(
+                (id) => id !== proId
+              );
+
+              // 浠� DataList3 涓Щ闄ょ浉鍏崇殑瀛愰」
+              this.DataList3 = this.DataList3.filter(
+                (item) => item.proParentId !== proId
+              );
+
+              // 鏇存柊鎬讳环鏍�
+              this.TotalPrice1 = 0; // 娓呯┖浠锋牸
+              this.DataList3.forEach((item) => {
+                this.TotalPrice1 += item.proPrice;
+              });
+            });
+          }
+        });
+      }
+    },
+
+    /* handlepackage(data, checked, checkedNodes) {
+      console.log(checked, 3333);
+
+      if (checked.checkedNodes.length != 0) {
+        this.$refs.treas.setCheckedKeys([data.id]);
+        let datas = {
+          zhId: data.id,
+        };
+
+        getlistByZhId(datas).then((res) => {
+          this.packagedataList = res.data.tjProjectList;
+
+          for (var i = 0; i < this.packagedataList.length; i++) {
+            let proId = this.packagedataList[i].proId;
+            getProSonDxList(proId).then((res) => {
+              this.TreedataList = res.data.list;
+              this.TreedataList.forEach((item) => {
+                this.Datalists.push(item);
+                this.DataList3 = this.DataList.concat(this.Datalists);
+                if (this.Datalists.length >= 1) {
+                  this.marryalls = 0;
+                  this.Datalists.forEach((item1) => {
+                    this.marryalls += item1.proPrice;
+                    // this.TotalPrice1 = this.marryalls;
+                    this.TotalPrice1 = 0;
+
+                    if (this.DataList3.length != 0) {
+                      this.DataList3.forEach((item) => {
+                        console.log(item.proPrice);
+                        this.TotalPrice1 += item.proPrice;
+                      });
+                    }
+                    this.packagedataList.forEach((item3) => {
+                      if (item1.proParentId == item3.proId) {
+                        item1.propinName = item3.proName;
+                      }
+                    });
+                  });
+                }
+              });
+            });
+          }
+        });
+      } else if (checked.checkedNodes.length == 0) {
+      }
+    }, */
 
     renderContent(h, { node, data, store }) {
       return (
         <span class="custom-tree-node">
-          聽 <span>{node.label}</span>
+          <span>{node.label}</span>
           <span>({data.proPrice}鍏�)</span>
         </span>
       );
@@ -1512,11 +2598,21 @@
 
     // 琛ュ綍椤圭洰
     handleProject(row) {
+      this.payType = "0";
       this.loading = true;
       this.DataList = [];
+      this.DataList3 = [];
+      this.Datalists = [];
+      this.TotalPrice1 = 0;
       this.orderId = row.orderId;
       this.cusId = row.tjCusIdCard;
       this.userId = row.userId;
+      console.log(row, 666);
+      this.$nextTick(() => {
+        this.$refs.tableRef.clearSelection(); // 娓呴櫎鎵�鏈夐�変腑
+        this.$refs.tableRef.toggleRowSelection(row, true); // 閫変腑褰撳墠琛�
+      });
+
       this.customer = {
         cusIdcard: row.tjCusIdCard,
         cusName: row.tjCustomerName,
@@ -1526,10 +2622,12 @@
       if (row.tjType) {
         this.form.tjType = parseInt(row.tjType);
       } else {
-        this.form.tjType = 0;
+        this.form.tjType = 2;
       }
+      this.activeNames = "first";
       /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */
-      this.getDataList();
+      this.handleClick();
+
       this.Projectopen = true;
       this.title = "琛ュ綍椤圭洰";
     },
@@ -1537,33 +2635,33 @@
     getDataList() {
       getProParentIdDxList().then((response) => {
         this.Treedata = response.data.list;
-        this.checkedkey.push(this.Treedata[0].proId);
-        let proId = this.Treedata[0].proId;
-        getProSonDxList(proId).then((res) => {
-          this.TreedataList = res.data.list;
-          this.TreedataList.forEach((item) => {
-            this.checkedListkey.push(item.proId);
-            this.DataList.push(item);
-            this.DataList.forEach((item) => {
-              item.propinName = this.Treedata[0].proName;
-            });
-          });
-          this.TotalPrice1 = 0;
+        // this.checkedkey.push(this.Treedata[0].proId);
+        // let proId = this.Treedata[0].proId;
+        // getProSonDxList(proId).then((res) => {
+        //   this.TreedataList = res.data.list;
+        //   this.TreedataList.forEach((item) => {
+        //     this.checkedListkey.push(item.proId);
+        //     this.DataList.push(item);
+        //     this.DataList.forEach((item) => {
+        //       item.propinName = this.Treedata[0].proName;
+        //     });
+        //   });
+        //   this.TotalPrice1 = 0;
 
-          if (this.DataList.length != 0) {
-            this.list1 = false;
-            this.DataList.forEach((item) => {
-              this.TotalPrice1 = item.proPrice + this.TotalPrice1;
-            });
-          }
-        });
+        //   if (this.DataList.length != 0) {
+        //     this.list1 = false;
+        //     this.DataList.forEach((item) => {
+        //       this.TotalPrice1 = item.proPrice + this.TotalPrice1;
+        //     });
+        //   }
+        // });
         this.loading = false;
       });
     },
     revokeProject() {
       getBlproByTjh(this.tjnumbers).then((res) => {
         if (res.data) {
-          this.DataLists = res.data
+          this.DataLists = res.data;
           this.Projectssopen = true;
           this.title1 = "鎾ら攢琛ュ綍";
         } else {
@@ -1576,8 +2674,12 @@
     },
     // 琛ュ綍椤圭洰
     handleProject1() {
+      this.payType = "0";
       this.loading = true;
       this.DataList = [];
+      this.DataList3 = [];
+      this.Datalists = [];
+      this.TotalPrice1 = 0;
       this.orderId = this.ids;
       this.cusId = this.cusIds;
       this.userId = this.userIds;
@@ -1587,16 +2689,19 @@
         cusPhone: this.cusPhone,
         cusSex: this.cusSex,
       };
+      this.activeNames = "first";
       /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */
-      this.getDataList();
+      this.handleClick();
+
       this.Projectopen1 = true;
       this.title = "琛ュ綍椤圭洰";
     },
 
     // 鐐瑰嚮鑾峰彇姣忎釜鏍戣妭鐐�
-    handleCurrentChecked(data, checked, checkedNodes) {
+    /*  handleCurrentChecked(data, checked, checkedNodes) {
       this.dataObj = data;
-      if (checked.checkedNodes.length != 0) {
+      this.checkedObj = checked;
+      if (checked == true) {
         this.$refs.tree.setCheckedKeys([data.proId]);
         let proId = data.proId;
         getProSonDxList(proId).then((res) => {
@@ -1604,6 +2709,7 @@
           this.TreedataList.forEach((item) => {
             this.checkedListkey.push(item.proId);
             this.DataList.push(item);
+            this.DataList3 = this.DataList.concat(this.Datalists);
             this.spliceData();
             this.DataList.forEach((item1) => {
               if (item1.proParentId == data.proId) {
@@ -1612,18 +2718,107 @@
             });
           });
           this.TotalPrice1 = 0;
-          if (this.DataList.length != 0) {
-            this.list1 = false;
-            this.DataList.forEach((item) => {
-              this.TotalPrice1 = item.proPrice + this.TotalPrice1;
+          if (this.DataList3.length != 0) {
+            this.DataList3.forEach((item) => {
+              this.TotalPrice1 += item.proPrice * item.sl;
             });
           }
+          // this.TotalPrice1 = 0;
+          // if (this.DataList.length != 0) {
+          //   this.list1 = false;
+          //   this.DataList.forEach((item) => {
+          //     this.TotalPrice1 = item.proPrice + this.TotalPrice1;
+          //   });
+          //   if (this.marryalls != 0) {
+          //     this.TotalPrice1 += this.marryalls;
+          //   }
+          // }
         });
-      } else if (checked.checkedNodes.length == 0) {
+      } else if (checked == false) {
         let proId = data.proId;
         getProSonDxList(proId).then((res) => {
           this.TreedataList = res.data.list;
           this.checkedListkey = [];
+          this.TreedataList.forEach((item) => {
+            item.disabled = true;
+          });
+          this.DataList3.forEach((item, index) => {
+            if (item.proParentId == this.dataObj.proId) {
+              this.DataList3.splice(index, this.TreedataList.length);
+            }
+          });
+
+          // 鎵嬪姩鏇存柊鎬讳环鏍�
+          this.TotalPrice1 = 0;
+          this.DataList3.forEach((item, index) => {
+            this.TotalPrice1 += item.proPrice * item.sl;
+          });
+        });
+      }
+    }, */
+    handleCurrentChecked(data, checked, checkedNodes) {
+      this.dataObj = data;
+      this.checkedObj = checked;
+
+      if (checked === true) {
+        // this.$refs.tree.setCheckedKeys([data.proId]);
+        let proId = data.proId;
+        getProSonDxList(proId).then((res) => {
+          this.TreedataList = res.data.list;
+
+          this.TreedataList.forEach((item) => {
+            // item.disabled = true;
+            // this.checkedListkey.push(item.proId);
+            if (!this.checkedListkey.includes(item.proId)) {
+              this.checkedListkey.push(item.proId);
+            }
+            this.Datalists.push(item);
+
+            this.DataList3.push(item);
+
+            this.spliceData();
+            this.DataList3.forEach((item1) => {
+              this.TotalPrice1 += item1.proPrice * item1.sl;
+              if (item1.proParentId == data.proId) {
+                item1.propinName = data.proName;
+                item1.propinPrice = this.dataObj.proPrice;
+              }
+            });
+          });
+
+          // 鏇存柊鎬讳环鏍�
+          this.TotalPrice1 = 0;
+          this.DataList3.forEach((item) => {
+            this.TotalPrice1 += item.proPrice * item.sl;
+          });
+        });
+      } else if (checked === false) {
+        // 褰撳彇娑堥�変腑鏃�
+        let proId = data.proId;
+        getProSonDxList(proId).then((res) => {
+          this.TreedataList = res.data.list;
+
+          // 閬嶅巻 TreedataList 骞剁Щ闄ょ浉鍏崇殑瀛愰」 ID
+          this.TreedataList.forEach((item) => {
+            this.checkedListkey = this.checkedListkey.filter(
+              (id) => id !== item.proId
+            );
+          });
+
+          this.Datalists = this.Datalists.filter(
+            (item) => item.proParentId !== proId
+          );
+
+          // 浠� DataList3 涓Щ闄ょ浉鍏崇殑瀛愰」
+          this.DataList3 = this.DataList3.filter(
+            (item) => item.proParentId !== proId
+          );
+
+          // 鏇存柊鎬讳环鏍�
+          this.TotalPrice1 = 0;
+          this.DataList3.forEach((item) => {
+            this.TotalPrice1 += item.proPrice * item.sl;
+          });
         });
       }
     },
@@ -1651,6 +2846,9 @@
             this.DataList.forEach((item1) => {
               this.TotalPrice1 = item1.proPrice + this.TotalPrice1;
             });
+            if (this.marryalls != 0) {
+              this.TotalPrice1 += this.marryalls;
+            }
           }
         });
       } else if (checked == true) {
@@ -1663,11 +2861,52 @@
         this.spliceData();
         this.TotalPrice1 = 0;
         this.DataList.forEach((item1) => {
+          console.log(item1.proPrice, 3322);
+          console.log(this.TotalPrice1, 1122);
+
           this.TotalPrice1 = item1.proPrice + this.TotalPrice1;
         });
+        if (this.marryalls != 0) {
+          this.TotalPrice1 += this.marryalls;
+        }
       }
     },
-
+    handleDel(row) {
+      this.Datalists.forEach((item, index) => {
+        if (item.proId == row.proId) {
+          this.Datalists.splice(index, 1);
+          this.marryalls = 0;
+          this.Datalists.forEach((item1) => {
+            this.marryalls += item1.proPrice;
+          });
+        }
+      });
+      this.DataList3.forEach((item, index) => {
+        if (item.proId == row.proId) {
+          this.DataList3.splice(index, 1);
+          this.marryalls = 0;
+          this.DataList3.forEach((item1) => {
+            this.marryalls += item1.proPrice;
+          });
+        }
+      });
+      this.DataList.forEach((item, index) => {
+        if (item.proId == row.proId) {
+          this.DataList.splice(index, 1);
+          this.TotalPrice1 = 0;
+          this.DataList.forEach((item1) => {
+            this.TotalPrice1 = item1.proPrice + this.TotalPrice1;
+          });
+          if (this.marryalls != 0) {
+            this.TotalPrice1 += this.marryalls;
+          }
+        }
+      });
+      this.TotalPrice1 = 0;
+      this.DataList3.forEach((item) => {
+        this.TotalPrice1 += item.proPrice;
+      });
+    },
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
     handleDelete(row) {
       this.DataList.forEach((item, index) => {
@@ -1677,6 +2916,9 @@
           this.DataList.forEach((item1) => {
             this.TotalPrice1 = item1.proPrice + this.TotalPrice1;
           });
+          if (this.marryalls != 0) {
+            this.TotalPrice1 += this.marryalls;
+          }
         }
       });
     },
@@ -1748,8 +2990,14 @@
     // 鏀惰垂鎸夐挳
     submitPrice() {
       this.proIds = [];
+      this.isSubmit = true;
       if (this.DataList.length != 0) {
         this.DataList.forEach((item) => {
+          this.proIds.push(item.proId);
+        });
+      }
+      if (this.Datalists.length != 0) {
+        this.Datalists.forEach((item) => {
           this.proIds.push(item.proId);
         });
       }
@@ -1759,6 +3007,10 @@
       };
       getaddtTransition(data).then((response) => {
         if (response.code === 200) {
+          this.DataList = [];
+          this.DataList3 = [];
+          this.DataLists = [];
+          this.TotalPrice1 = 0;
           let tjType = this.form.tjType;
           let copeWith = this.TotalPrice1;
           let paidIn = copeWith * (this.discount / 10);
@@ -1774,6 +3026,7 @@
             payType: this.payType,
           };
           getwater(data).then((res) => {
+            this.isSubmit = false;
             this.$modal.msgSuccess("鎻愪氦鎴愬姛");
             this.mobanId = res.data.mobanId;
             this.waterId = res.data.waterId;
@@ -1789,8 +3042,14 @@
     // 鏀惰垂鎸夐挳
     submitPrice1() {
       this.proIds = [];
+      this.isSubmit1 = true;
       if (this.DataList.length != 0) {
         this.DataList.forEach((item) => {
+          this.proIds.push(item.proId);
+        });
+      }
+      if (this.Datalists.length != 0) {
+        this.Datalists.forEach((item) => {
           this.proIds.push(item.proId);
         });
       }
@@ -1798,8 +3057,13 @@
         cusId: this.cusIds,
         proIds: this.proIds,
       };
-      getaddtTransition(data).then((response) => {
+      getaddtTransition1(data).then((response) => {
+        console.log(123456789);
+
         if (response.code === 200) {
+          // this.DataList3 = [];
+          //   this.DataList = [];
+          //   this.DataList3 = [];
           let tjType = this.form.tjType;
           let copeWith = this.TotalPrice1;
           let paidIn = copeWith * (this.discount / 10);
@@ -1810,10 +3074,12 @@
             discount,
             copeWith,
             tjType,
+            payStasus: this.jsType,
             orderId: this.orderIds,
             tjProIds: this.proIds,
             payType: this.payType,
           };
+
           getwater(data).then((res) => {
             this.$modal.msgSuccess("鎻愪氦鎴愬姛");
             this.mobanId = res.data.mobanId;
@@ -1823,28 +3089,32 @@
             const params = { viewNum, tjnumber };
             this.$tab.openPage("鏀舵灏忕エ", "/report/charge", params);
             this.Projectopen1 = false;
+            this.Projectopen = false;
+            this.isSubmit1 = false;
           });
         }
+        this.isSubmit1 = false;
       });
     },
 
-    handleProjectssChange(selection){
-      this.DataListss =[]
+    handleProjectssChange(selection) {
+      this.DataListss = [];
+      this.selection = [];
+
       this.bldhs = selection.map((item) => item.bldh);
-      selection.forEach(item => {
-        item.projectList.forEach(item1 => {
-          item1.children.forEach(item2 => {
-            this.DataListss.push(item2)
-            if(this.DataListss.length != 0){
-              this.DataListss.forEach(item => {
-                if(item.proParentId ==item1.proId )
-                item.propinName= item1.proName
-              })
+      selection.forEach((item) => {
+        item.projectList.forEach((item1) => {
+          item1.children.forEach((item2) => {
+            this.DataListss.push(item2);
+            if (this.DataListss.length != 0) {
+              this.DataListss.forEach((item) => {
+                if (item.proParentId == item1.proId)
+                  item.propinName = item1.proName;
+              });
             }
-          })
-        })
-        
-      })
+          });
+        });
+      });
     },
 
     /** 鎻愪氦鎸夐挳 */
@@ -1857,35 +3127,88 @@
         .then(() => {
           let data = {
             tjh: this.tjnumbers,
-            bldhs:this.bldhs
-          }
-          revokeBlProByBldhAndTjh(data).then(res => {
-            this.Projectssopen =false
-          })
+            bldhs: this.bldhs,
+          };
+          revokeBlProByBldhAndTjh(data).then((res) => {
+            this.Projectssopen = false;
+          });
         })
         .catch(() => {
           this.$message({
             type: "info",
             message: "宸插彇娑堟挙閿�",
           });
-          this.Projectssopen =false
+          this.Projectssopen = false;
         });
     },
-
-    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
     handleExport() {
+      this.$confirm("璇烽�夋嫨瀵煎嚭鑼冨洿", "瀵煎嚭鏁版嵁", {
+        distinguishCancelAndClose: true,
+        confirmButtonText: "瀵煎嚭鍏ㄩ儴",
+        cancelButtonText: "浠呭鍑哄綋鍓嶉〉",
+        type: "warning",
+      })
+        .then(() => {
+          // 鐢ㄦ埛鐐瑰嚮浜嗏�滃鍑哄叏閮ㄢ��
+          this.exportData(true);
+        })
+        .catch((action) => {
+          if (action === "cancel") {
+            // 鐢ㄦ埛鐐瑰嚮浜嗏�滀粎瀵煎嚭褰撳墠椤碘��
+            this.exportData(false);
+          }
+        });
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    /*  handleExport() {
+      console.log(this.queryParams);
       this.download(
-        "hosp/order/export",
+        "/hosp/order/exportOrderList",
         {
           ...this.queryParams,
         },
+        `order_${new Date().getTime()}.xlsx`
+      );
+    }, */
+    confirmExport() {
+      this.exportDialogVisible = false;
+    
+
+      const exportParams = {
+        ...this.queryParams,
+        dqyorqbsj: this.exportType, // 娣诲姞杩欎釜瀛楁
+      };
+
+      this.download(
+        "/hosp/order/exportOrderList",
+        exportParams,
         `order_${new Date().getTime()}.xlsx`
       );
     },
   },
 };
 </script>
-<style lang="scss">
+<style lang="scss" scoped>
+.custom-dialog {
+  /* 鑷畾涔夊脊鍑烘鐨勬渶灏忛珮搴� */
+  min-height: 600px; /* 浠庨粯璁ら珮搴﹀鍔犲埌 600px锛屽彲浠ユ牴鎹渶瑕佽皟鏁� */
+}
+
+/* 璋冩暣 el-tabs 鐨勫唴瀹瑰尯鍩熼珮搴� */
+::v-deep .el-tabs__content {
+  min-height: 500px; /* 纭繚閫夐」鍗″唴瀹瑰尯鍩熸湁瓒冲楂樺害 */
+}
+
+/* 璋冩暣瀵硅瘽妗嗙殑涓讳綋閮ㄥ垎 */
+::v-deep .el-dialog__body {
+  padding: 20px;
+}
+
+/* 鍙�夛細璋冩暣 footer 鐨勬牱寮� */
+.dialog-footer {
+  padding: 10px 20px;
+  text-align: right;
+}
 .pag {
   width: 100%;
   display: flex;
@@ -1936,15 +3259,29 @@
 // .el-dialog__body {
 //   padding: 20px;
 // }
-
+::v-deep .el-message-box__message {
+  color: red !important; /* 寮哄埗璁剧疆棰滆壊涓虹孩鑹� */
+}
+// .custom-message-box .el-message-box__message {
+//   color: red !important; /* 璁剧疆鏂囧瓧涓虹孩鑹� */
+// }
+.o {
+  margin-top: 8px;
+}
 .outside {
   width: 500px;
   display: flex;
   margin-top: 8px;
 }
+.outsides {
+  width: 500px;
+  display: flex;
+  // margin-top: 12px;
+  // margin-right: 40%;
+}
 
 .tab3 {
-  max-height: 500px;
+  max-height: 420px;
   overflow-y: auto;
   border: 1px solid #d9d9d9;
 }
@@ -1954,4 +3291,37 @@
   display: flex;
   margin-top: 8px;
 }
+.outside2 {
+  width: 500px;
+  display: flex;
+  margin-top: 8px;
+}
+.heji {
+  display: flex;
+  flex-direction: row;
+  justify-content: flex-start;
+  align-items: center;
+  margin-top: 10px;
+}
+.box {
+  display: flex;
+  justify-content: space-between;
+}
+.box1 {
+  width: 50%;
+  display: flex;
+  flex-direction: column;
+}
+
+::v-deep .el-step__title.is-process {
+  color: rgb(24, 144, 255);
+}
+::v-deep .el-step__head.is-process {
+  color: rgb(24, 144, 255);
+  border-color: rgb(24, 144, 255);
+}
+.shijian {
+  display: flex;
+  align-items: flex-start;
+}
 </style>

--
Gitblit v1.8.0