From 26e6be1dfd468b1cf74708bd2f8f6eba5e9ac050 Mon Sep 17 00:00:00 2001
From: qx <1084500556@qq.com>
Date: 星期二, 22 七月 2025 16:58:38 +0800
Subject: [PATCH] Qx

---
 src/views/system/tijian/index.vue |   30 
 src/views/hosp/order/1.vue        | 2887 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/views/hosp/order/index.vue    |   72 
 3 files changed, 2,960 insertions(+), 29 deletions(-)

diff --git a/src/views/hosp/order/1.vue b/src/views/hosp/order/1.vue
new file mode 100644
index 0000000..95e2533
--- /dev/null
+++ b/src/views/hosp/order/1.vue
@@ -0,0 +1,2887 @@
+<template>
+  <div v-loading="isLoading" element-loading-text="姝e湪鎻愪氦锛岃绋嶅��..." element-loading-spinner="el-icon-loading"
+    element-loading-background="rgba(255, 255, 255, 0.8)" style="height: 100%; padding: 20px; position: relative;">
+    <div class="app-container">
+      <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+        <el-form-item label="濮撳悕" prop="name">
+          <el-input ref="inputName" v-model="queryParams.name" placeholder="璇疯緭鍏ュ鍚�" style="width: 150px" clearable
+            @keyup.enter.native="handleQuery" />
+        </el-form-item>
+        <el-form-item label="浣撴鍙�" prop="tjNum">
+          <el-input ref="inputName" v-model="queryParams.tjNum" placeholder="璇疯緭鍏ヤ綋妫�鍙�" style="width: 150px" clearable
+            @keyup.enter.native="handleQuery" @blur="hb" />
+        </el-form-item>
+        <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" align="right" :picker-options="pickerOptions"
+            style="width: 300px" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡"
+            :default-time="['00:00:00', '23:59:00']" format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm"
+            @change="dateChangebirthday1">
+          </el-date-picker>
+        </el-form-item>
+        <!-- <el-form-item label="鐧昏鏃堕棿" prop="createTime">
+        <el-date-picker clearable v-model="queryParams.createTime" type="date" value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨鐧昏鏃堕棿">
+        </el-date-picker>
+      </el-form-item> -->
+        <!-- <el-form-item label="瀹屾垚鏃堕棿" prop="finishTimeList">
+        <el-date-picker clearable v-model="queryParams.finishTimeList" type="daterange" range-separator="-"
+          start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" :picker-options="pickerOptions" value-format="yyyy-MM-dd"
+          placeholder="璇烽�夋嫨浣撴瀹屾垚鏃堕棿" style="width: 240px">
+        </el-date-picker>
+      </el-form-item> -->
+        <el-form-item label="鎶ュ憡鏃堕棿" prop="reportTimeList">
+          <el-date-picker clearable v-model="reportTimeList" @change="dateChangebirthday2" type="daterange"
+            range-separator="-" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" :picker-options="pickerOptions"
+            value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨鍑烘姤鍛婃椂闂�" style="width: 240px">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item>
+          <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+          <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
+        </el-form-item>
+      </el-form>
+
+      <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-button type="primary" icon="el-icon-download" size="mini" @click="handleExport" :disabled="singles"
+            v-hasPermi="['hosp:order:export']">瀵煎嚭</el-button>
+        </el-col>
+
+
+        <el-col :span="1.5">
+          <el-button type="primary" size="mini" @click="handleProject1" :disabled="single"
+            v-hasPermi="['hosp:order:export']">琛ュ綍椤圭洰</el-button>
+        </el-col>
+        <el-col :span="1.5">
+          <el-button type="primary" size="mini" @click="revokeProject" :disabled="single"
+            v-hasPermi="['hosp:order:export']">鎾ら攢琛ュ綍</el-button>
+        </el-col>
+
+        <el-col :span="1.5">
+          <el-button type="primary" size="mini" @click="handleReport1" :disabled="single"
+            v-hasPermi="['hosp:order:export']">鎵撳嵃瀵艰瘖鍗�</el-button>
+        </el-col>
+        <el-col :span="1.5">
+          <el-button type="primary" size="mini" @click="handleUpdate1" :disabled="single"
+            v-hasPermi="['hosp:order:export']">璁㈠崟鏄庣粏</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 style="background-color:#E6A23C;color:#fff" size="mini" @click="handleRevoke"
+            :disabled="single">鎾ら攢绛惧埌</el-button>
+        </el-col>
+        <el-col :span="1.5">
+          <el-button style="background-color:#E6A23C;color:#fff" size="mini" @click="ForceChexiao" :disabled="single"
+            v-hasPermi="['qzcx']">寮哄埗鎾ら攢</el-button>
+        </el-col>
+        <el-col :span="1.5">
+          <el-button style="background-color:#E6A23C;color:#fff" size="mini" @click="ResumeAppointment"
+            :disabled="multiple">鎭㈠棰勭害</el-button>
+        </el-col>
+        <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+      </el-row>
+
+      <template>
+        <el-table border v-loading="loading" :data="orderList" ref="tableRef" @selection-change="handleSelectionChange">
+          <el-table-column type="selection" width="40px" align="center" fixed="left" />
+          <!-- <el-table-column label="涓婚敭id" align="center" prop="orderId" /> -->
+          <!-- <el-table-column label="鐢ㄦ埛id" align="center" prop="userId" /> -->
+          <el-table-column label="搴忓彿" align="center" prop="newID" width="50px" fixed="left" />
+          <el-table-column label="濮撳悕" align="center" prop="tjCustomerName" fixed="left" width="90px"
+            :show-overflow-tooltip="true" />
+          <el-table-column label="韬唤璇佸彿" align="center" prop="tjCusIdCard" fixed="left" width="180px"
+            :show-overflow-tooltip="true" />
+          <el-table-column label="鎬у埆" align="center" prop="tjCustomerSex" width="50px" :show-overflow-tooltip="true">
+            <template slot-scope="scope">
+              <span v-if="scope.row.tjCustomerSex == '0'">鐢�</span>
+              <span v-if="scope.row.tjCustomerSex == '1'">濂�</span>
+              <span v-if="scope.row.tjCustomerSex == '2'">鏈煡</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="骞撮緞" align="center" prop="tjCustomerAge" width="55px" :show-overflow-tooltip="true" />
+          <el-table-column label="鐢佃瘽" align="center" prop="tjCustomerPhone" :show-overflow-tooltip="true"
+            width="110px" />
+          <el-table-column label="浣撴绫诲瀷" align="center" prop="tjType" width="80px" :show-overflow-tooltip="true">
+            <template slot-scope="scope">
+              <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 label="浣撴鍙�" align="center" prop="tjNumber" :show-overflow-tooltip="true" width="160px" />
+          <el-table-column label="闂ㄨ瘖鍙�" align="center" prop="cardId" :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="鎵�閫夊椁�" align="center" prop="pacName" :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" prop="createTime" width="155px" :show-overflow-tooltip="true">
+            <template slot-scope="scope">
+              <span>{{ parseTime(scope.row.createTime) }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="瀹屾垚鏃堕棿" align="center" prop="finishTime" width="155px" :show-overflow-tooltip="true">
+            <!-- <template slot-scope="scope">
+            <span>{{ parseTime(scope.row.finishTime) }}</span>
+          </template> -->
+          </el-table-column>
+          <!-- <el-table-column label="鏇存柊鏃堕棿" align="center" prop="updateTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column> -->
+          <el-table-column label="鎶ュ憡鏃堕棿" align="center" prop="reportTime" width="155px" height="10px"
+            :show-overflow-tooltip="true">
+            <!-- <template slot-scope="scope">
+            <span>{{ parseTime(scope.row.reportTime) }}</span>
+          </template> -->
+          </el-table-column>
+          <!-- <el-table-column label="鍒涘缓浜�" align="center" prop="createBy" /> -->
+          <!-- <el-table-column label="鏇存柊浜�" align="center" prop="updateBy" /> -->
+          <!--  <el-table-column
+          label="鍗曚綅宸ュ彿"
+          align="center"
+          prop="firmWorkId"
+          width="100px"
+          :show-overflow-tooltip="true"
+        /> -->
+
+          <!-- <el-table-column label="閮ㄩ棬鍚�" align="center" prop="firmDeptName" /> -->
+
+          <!-- <el-table-column label="瀹㈡埛鐓х墖" align="center" prop="photo" /> -->
+          <!-- <el-table-column prop="checkStatus" label="瀹℃牳鐘舵��" width="180">
+          <template slot-scope="scope">
+            <span>{{
+              scope.row.checkStatus == "1" ? "宸插鏍�" : "寰呭鏍�"
+            }}</span>
+          </template>
+        </el-table-column> -->
+          <el-table-column fixed="right" label="鎿嶄綔" align="center" class-name="small-padding fixed-width" height="10px"
+            width="114px">
+            <template slot-scope="scope">
+              <el-button size="mini" type="text" icon="el-icon-document" @click="handleUpdate(scope.row)"
+                v-hasPermi="['hosp:order:edit']" title="璁㈠崟娴佹按"></el-button>
+              <!-- <el-button size="mini" type="text" icon="el-icon-edit" @click="handleProject(scope.row)"
+                v-hasPermi="['hosp:order:edit']" title="琛ュ綍椤圭洰"></el-button> -->
+              <!-- <el-button type="text" size="mini" class="btn" icon="el-icon-download" title="涓嬭浇瀵艰瘖鍗�" @click="
+              daoZhenDan,
+              LoadFileImg(scope.row);
+                                        "></el-button> -->
+              <!-- <el-button type="text" size="mini" class="btn" icon="el-icon-view" title="鏌ョ湅鎶ュ憡" @click="
+              dialogVisible,
+              downLoadFileImg(scope.row);
+                                        "></el-button> -->
+              <!-- <el-button
+              type="text"
+              size="mini"
+              class="btn"
+              icon="el-icon-view"
+              title="浣撴鎶ュ憡"
+              @click="viewReport(scope.row)"
+            ></el-button> -->
+              <!-- <el-button
+              type="text"
+              size="mini"
+              class="btn"
+              icon="el-icon-view"
+              title="涓汉淇℃伅琛�"
+              v-if="scope.row.tjCategory == '02'"
+              @click="viewReport(scope.row)"
+            ></el-button> -->
+
+              <!-- <el-button type="text" size="mini" class="btn" icon="el-icon-download" title="瀵艰瘖鍗�"
+                @click="handleReport(scope.row)"></el-button> -->
+
+              <!-- <button @click="downLoadFileImg(scope.row)">鏌ョ湅鎶ュ憡</button> -->
+            </template>
+          </el-table-column>
+        </el-table>
+      </template>
+
+      <div class="pag">
+        <div class="pag1">
+          <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
+            :current-page="queryParams.pageNum" :page-sizes="[10, 20, 30, 40]" :page-size="queryParams.pageSize"
+            layout="total, sizes, prev, pager, next, jumper" :total="total">
+          </el-pagination>
+          <!-- <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
+          @pagination="getList" /> -->
+        </div>
+      </div>
+
+      <!-- 璁㈠崟娴佹按瀵硅瘽妗� -->
+      <!-- <el-dialog title="鎻愮ず" :visible.sync="dialogVisible" width="1500px " >
+        <el-table :data="tableData" style="width: 100%">
+      <el-table-column prop="date" label="鏃ユ湡" width="180">
+      </el-table-column>
+      <el-table-column prop="name" label="濮撳悕" width="180">
+      </el-table-column>
+      <el-table-column prop="address" label="鍦板潃">
+      </el-table-column>
+    </el-table>
+        <span slot="footer" class="dialog-footer">
+          <el-button @click="dialogVisible = false">鍙� 娑�</el-button>
+        </span>
+     </el-dialog> -->
+
+      <el-dialog title="PDF 棰勮" :visible.sync="dialogVisible" :close-on-click-modal="false">
+        <div class="main">
+          <iframe id="printIframe" :src="url" frameborder="0" style="width: 100%; height: 100%"></iframe>
+        </div>
+      </el-dialog>
+
+      <el-dialog title="瀵艰瘖鍗�" :visible.sync="daoZhenDan" :close-on-click-modal="false">
+        <div class="main">
+          <iframe id="printIframe" :src="url" frameborder="0" style="width: 100%; height: 100%"></iframe>
+        </div>
+      </el-dialog>
+
+      <!-- 娣诲姞琛ュ綍椤圭洰 -->
+      <el-dialog :title="title" :visible.sync="Projectopen" width="1100px" style="height: 860px" append-to-body
+        :close-on-click-modal="false">
+        <div class="box">
+          <div class="box1">
+            <div style="text-align: center; margin-bottom: 10px; margin-top: 10px">
+              椤圭洰閫夋嫨
+            </div>
+            <el-tabs type="border-card" style="height: 560px; margin: 0 10px; width: 100%" @tab-click="handleClick"
+              v-model="activeNames">
+              <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-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>
+
+                <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>
+                  </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-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>
+
+      <!-- 娣诲姞琛ュ綍椤圭洰 -->
+      <el-dialog :title="title" :visible.sync="Projectopen1" width="1200px" style="height: 860px" append-to-body
+        :close-on-click-modal="false">
+        <div class="box">
+          <div class="box1">
+            <div style="text-align: center; margin-bottom: 10px; margin-top: 10px">
+              椤圭洰閫夋嫨
+            </div>
+            <el-tabs type="border-card" style="height: 560px; margin: 0 10px; width: 100%" @tab-click="handleClick"
+              v-model="activeNames">
+              <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-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>
+
+          <div class="grid-content bg-purple">
+            <div style="text-align: center; margin-bottom: 10px; margin-top: 9px">
+              宸查�夐」鐩垪琛�
+            </div>
+            <el-table :data="DataList3" border style="width: 100%; table-layout: fixed" height="560"
+              :span-method="objectspanmethod">
+              <el-table-column prop="propinName" label="妫�鏌ラ」鐩�" width="160px" :show-overflow-tooltip="true">
+              </el-table-column>
+              <el-table-column prop="proName" label="鏄庣粏椤圭洰" width="160px" :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="鎶樻墸">
+                <template slot-scope="scope">
+                  <el-input-number v-model.number="scope.row.discount" @input="validateDiscount(scope.row)"
+                    @change="handleManualChange(scope.row)" placeholder="杈撳叆鎶樻墸" size="small" type="number" :precision="1"
+                    :step="0.1" :max="10" :min="0">
+                  </el-input-number>
+                </template>
+              </el-table-column>
+              <el-table-column prop="nowPrice" label="鐜颁环">
+                    <template slot-scope="scope">
+                      {{ scope.row.nowPrice? scope.row.nowPrice.toFixed(2):scope.row.nowPrice }}
+                    </template>
+                  </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="鎶樻墸">
+                  <!-- {{ discount }} -->
+                  <el-input-number ref="inputNumber" style="width: 150px" v-model="discount" :precision="1" :step="0.1"
+                    :max="10" :min="0"  @change="debounceNumberChange"></el-input-number>
+                </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="搴斾粯">
+                  <el-input placeholder="搴斾粯閲戦" v-model="TotalPrice" style="width: 206px" @input="changeXianjia"
+                    @blur="numberChangeXianPrice(discount, discount)" />
+                </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 :close-on-click-modal="false">
+        <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-table-column align="center" 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 align="center" prop="sfzt" label="璐圭敤鐘舵��">
+                <template v-slot="scope">
+                  <span v-if="scope.row.sfzt">{{ '宸茬粨璐�' }}</span>
+                  <span v-else>{{ '鏈粨璐�' }}</span>
+                </template>
+              </el-table-column>
+            </el-table>
+            <h3>浠樻璇︽儏</h3>
+            <el-table :data="bill" style="width: 100%; margin-top: 10px">
+              <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-table :data="infoList" style="width: 100%" max-height="330" :span-method="objectSpanMethod1">
+              <el-table-column align="center" 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 align="center" prop="time" label="寮�鍗曟椂闂�" width="180">
+              </el-table-column>
+            </el-table>
+          </el-tab-pane>
+        </el-tabs>
+        <div slot="footer" class="dialog-footer">
+          <el-button @click="cancel">鍙� 娑�</el-button>
+        </div>
+      </el-dialog>
+
+      <el-dialog :title="title1" :visible.sync="Projectssopen" 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="submitForm">鎾� 閿�</el-button>
+          <!-- <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>
+    </div>
+  </div>
+</template>
+
+<script>
+import {
+  getNumber,
+  hasReport,
+  getPdf,
+  getOrderList,
+  getNewDateList,
+  revokeTjOrderByTjNum,
+  huifuyuyuejilu,
+  getTransitionInfo,
+  getBlproByTjh,
+  revokeBlProByBldhAndTjh,
+  getForceChexiao,
+} from "@/api/hosp/order";
+import moment from "moment";
+import Big from "big.js";
+import { getZhList, getlistByZhId } from "@/api/system/package";
+import { getwater } from "@/api/hosp/customer";
+import { getInfo } from "@/api/login";
+import ViewPdf from "@/components/ViewPdf";
+import { getDicts } from "@/api/system/dict/data";
+import {
+  shijianzhou,
+  getaddtTransition,
+  getProParentIdDxList,
+  getProSonDxList,
+} from "@/api/system/tijian";
+import {
+  SubmitCompany,
+  getCompany,
+  queryCompany,
+  addbatch,
+} from "@/api/team/tuanti";
+export default {
+  components: {
+    ViewPdf,
+  },
+  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: [],
+      infoList: [],
+      bldhs: [],
+      CompanyList: [],
+      filterage: "",
+      activeName1: "second",
+      filterText: "",
+      orderIds: "",
+      tjnumbers: "",
+      Projectssopen: false,
+      title1: "",
+      cusIds: "",
+      userIds: "",
+      cusIdcard: "",
+      defaultpackProps: {
+        children: [],
+        label: "proName",
+      },
+      cusName: "",
+      cusPhone: "",
+      cusSex: "",
+      reportTimeList: "",
+      createTimeList: "",
+      packagedataList: [],
+      cusId: "",
+      payType: "",
+      jsType: "",
+      packageList: [],
+      checkedkeys: [],
+      dialogVisible: false,
+      daoZhenDan: false,
+      Projectopen: false,
+      Projectopen1: false,
+      src: "",
+      url: "",
+      flag: true,
+      bill: [],
+      Treedata: [],
+      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,
+      TotalPrice: 0,
+      TotalPrice6: 0,
+      TotalPrice7: 0,
+      numberList: [],
+      dialogVisible: false,
+      CheckBox: {},
+      // 閬僵灞�
+      loading: true,
+      // 閫変腑鏁扮粍
+      ids: [],
+      dataObj: {},
+      // 闈炲崟涓鐢�
+      single: true,
+      singles: false,
+      activeNames: "first",
+      // 闈炲涓鐢�
+      multiple: true,
+      tjNUms: [],
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      userId: "",
+      // 鎬绘潯鏁�
+      total: 0,
+      // 浣撴璁板綍琛ㄦ牸鏁版嵁
+      orderList: [],
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      orderId: "",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      Datalists: [],
+      // 鏃ユ湡鑼冨洿
+      datetimerange: [],
+      marryalls: 0,
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        djbeginTime: null,
+        djendTime: null,
+        tjNum: null,
+        bgbeginTime: null,
+        bgendTime: null,
+        xmmc: null,
+        tjCompName: "",
+        dw: null,
+      },
+      startTime: "",
+      startTime1: "",
+      // 琛ㄥ崟鍙傛暟
+      form: {
+        tjType: 2,
+      },
+      // 琛ㄥ崟鏍¢獙
+      rules: {},
+      pickerOptions: {
+        shortcuts: [
+          {
+            text: "鏈�杩戜竴鍛�",
+            onClick(picker) {
+              const end = new Date();
+              const start = new Date(new Date().setHours(0, 0, 0, 0));
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+              picker.$emit("pick", [start, end]);
+            },
+          },
+          {
+            text: "鏈�杩戜竴涓湀",
+            onClick(picker) {
+              const end = new Date();
+              const start = new Date(new Date().setHours(0, 0, 0, 0));
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+              picker.$emit("pick", [start, end]);
+            },
+          },
+          {
+            text: "鏈�杩戜笁涓湀",
+            onClick(picker) {
+              const end = new Date();
+              const start = new Date(new Date().setHours(0, 0, 0, 0));
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+              picker.$emit("pick", [start, end]);
+            },
+          },
+        ],
+      },
+    };
+  },
+
+  watch: {
+    filterText(val) {
+      this.$refs.tree.filter(val);
+    },
+    filterage(val) {
+      this.$refs.treas.filter(val);
+    },
+  },
+  created() {
+    // this.getNowTime();
+
+    this.getdate();
+  },
+  mounted() {
+    this.$nextTick(() => {
+      this.$refs.inputName.focus();
+    });
+  },
+  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) {
+          this.createTimeList = [
+            moment(res.data).format("YYYY-MM-DD 00:00:00"),
+            moment(res.data).format("YYYY-MM-DD 23:59:00"),
+          ];
+          this.getList();
+        }
+      });
+    },
+    filterNode(value, data) {
+      if (!value) return true;
+      // return data.proName.indexOf(value) !== -1;
+      if (data.proName.indexOf(value) !== -1) {
+        return data.proName.indexOf(value) !== -1;
+      } else {
+        return data.proEngName.indexOf(value) !== -1;
+      }
+    },
+    // / 澶勭悊榛樿閫変腑褰撳墠鏃ユ湡
+    // getNowTime() {
+    //   var curDate = new Date(new Date().setHours(0, 0, 0, 0)).getTime();
+    //   var dayNum = 7 * 24 * 3600 * 1000;
+    //   var threeDays = curDate - dayNum;
+    //   var sDay = this.getLocalTime(threeDays);
+    //   var end = this.getLocalTime(curDate);
+    //   this.createTimeList = [sDay, end];
+    // },
+    // add0(m) {
+    //   return m < 10 ? "0" + m : m;
+    // },
+    // getLocalTime(nS) {
+    //   var time = new Date(nS);
+    //   var y = time.getFullYear();
+    //   var m = time.getMonth() + 1;
+    //   var d = time.getDate();
+    //   var h = time.getHours();
+    //   var mm = time.getMinutes();
+    //   return (
+    //     y +
+    //     "-" +
+    //     this.add0(m) +
+    //     "-" +
+    //     this.add0(d) +
+    //     " " +
+    //     this.add0(h) +
+    //     ":" +
+    //     this.add0(mm)
+    //   );
+    // },
+    dateChangebirthday1(val) {
+      this.startTime = val;
+    },
+    dateChangebirthday2(val) {
+      this.startTime1 = val;
+    },
+    /** 鏌ヨ浣撴璁板綍鍒楄〃 */
+    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];
+      } 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;
+      });
+    },
+    driver(row) {
+      return row.pacName == null ? "鏅�氫綋妫�" : row.pacName;
+    },
+    /** 鐐瑰嚮鏄剧ず瀵兼鍗曟姤琛�*/ //lige    寮�濮�
+    handleReport(row) {
+      const tjNumber = row.tjNumber;
+      const viewNum = "792931586196398080";
+      const params = { viewNum, tjNumber };
+      hasReport(tjNumber).then((res) => {
+        if (res == 1) {
+          this.$tab.openPage("瀵艰瘖鍗�", "/report/breDailyReport", params);
+        } else {
+          this.$message.error("璇ョ敤鎴锋殏鏃犻」鐩紒");
+        }
+      });
+    },
+    /** 鐐瑰嚮鏄剧ず瀵兼鍗曟姤琛�*/ //lige    寮�濮�
+    /* 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) {
+          this.$tab.openPage("瀵艰瘖鍗�", "/report/breDailyReport", params);
+        } else {
+          this.$message.error("璇ョ敤鎴锋殏鏃犻」鐩紒");
+        }
+      });
+    }, */
+    handleReport1(row) {
+      const tjNumber = this.tjnumbers;
+      const viewNum = "792931586196398080";
+      // 鍏堣皟鐢� getInfo 鑾峰彇 userId
+      getInfo()
+        .then((res) => {
+          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("鏃犳硶鑾峰彇鐢ㄦ埛淇℃伅锛�");
+        });
+    },
+
+    // 寮哄埗鎾ら攢鎸夐挳
+    ForceChexiao() {
+      const tjNum = this.tjnumbers;
+      this.isLoading = true
+      this.$confirm(
+        "鎮ㄦ槸鍚﹂渶瑕佸己鍒舵挙閿�锛熸挙閿�鍚庤浜哄憳鏈浣撴璁板綍涓嶅彲鎭㈠锛�",
+        "纭淇℃伅",
+        {
+          distinguishCancelAndClose: true,
+          confirmButtonText: "纭",
+          cancelButtonText: "鍙栨秷",
+          customClass: "custom-message-box",
+        }
+      )
+        .then(() => {
+          getForceChexiao(tjNum).then((res) => {
+            if (res.code == 200) {
+              this.$modal.msgSuccess("鎾ら攢鎴愬姛");
+              this.isLoading = false
+              this.getList();
+            }
+          }).catch(() => {
+            console.log("鍔犺浇澶辫触")
+            this.isLoading = false;
+          }).finally(() => {
+            console.log("鍔犺浇澶辫触")
+            // 涓嶈鎿嶄綔鎴愬姛杩樻槸澶辫触锛岄兘浼氭墽琛�
+            this.isLoading = false;
+          });
+        })
+        .catch((action) => {
+          this.isLoading = false
+          if (action === "cancel") {
+            this.$message({
+              type: "warning",
+              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) => {
+            if (res.code == 200) {
+              this.$modal.msgSuccess("鎭㈠鎴愬姛");
+              this.isLoading = false
+              this.getList();
+            }
+          }).catch(() => {
+            console.log("鍔犺浇澶辫触")
+            this.isLoading = false;
+          }).finally(() => {
+            console.log("鍔犺浇澶辫触")
+            // 涓嶈鎿嶄綔鎴愬姛杩樻槸澶辫触锛岄兘浼氭墽琛�
+            this.isLoading = false;
+          });
+        })
+        .catch((action) => {
+          if (action === "cancel") {
+            this.isLoading = false;
+            this.$message({
+              type: "warning",
+              message: "宸插彇娑�",
+            });
+          }
+        })
+        .finally(() => {
+          // 涓嶈鎿嶄綔鎴愬姛杩樻槸澶辫触锛岄兘浼氭墽琛�
+
+        });
+    },
+
+
+     updateProPrice(row) {
+      const ordPrice = new Big(row.ordPrice);
+      const discount = new Big(row.discount);
+      const result = ordPrice.times(discount.div(10)); // ordPrice * (discount / 10)
+      row.nowPrice = result.toNumber();
+      this.TotalPrice = this.tableData1.reduce((sum, item) => {
+        return sum.plus(new Big(item.nowPrice || "0"));
+      }, new Big(0));
+
+      this.discount =
+        (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / 100) * 10;
+    },
+  debounceNumberChange(currentValue, oldValue) {
+      clearTimeout(this.debounceTimer);
+      this.debounceTimer = setTimeout(() => {
+        this.numberChange(currentValue, oldValue);
+      }, 300);
+    },
+
+      // 鎶樻墸
+    numberChange(currentValue, oldValue) {
+      this.$confirm("纭畾淇敼鎵�鏈夊瓙椤圭殑鎶樻墸鍚楋紵", "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning",
+      })
+        .then(() => {
+          this.discount = currentValue;
+          this.DataList3.forEach((item) => {
+            item.discount = this.discount;
+            const ordPrice = new Big(item.ordPrice.toString());
+            const discount = new Big(item.discount.toString());
+            const result = ordPrice.times(discount.div(10));
+            item.nowPrice = result.toNumber();
+            // this.TotalPrice = this.DataList3.reduce((sum, item) => {
+            //   return sum.plus(new Big(item.nowPrice || "0"));
+            // }, new Big(0));
+            this.TotalPrice =  new Big(TotalPrice1 * (discount / 10))
+          });
+        })
+        .catch(() => {
+          this.discount = oldValue;
+        });
+    },
+
+     changeXianjia() {
+      // 鍘熷鎶樻墸鐜囪绠�
+      if (this.TotalPrice1 !== 0) {
+        this.discount =
+          (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / 100) * 10;
+      }
+    },
+ numberChangeXianPrice(currentValue, oldValue) {
+      // 濡傛灉鐜颁环娌℃湁鍙樺寲锛岀洿鎺ヨ繑鍥�
+      if (this.TotalPrice === this.lastXianPrice || !this.TotalPrice) {
+        return;
+      }
+      this.$confirm("纭畾淇敼鎵�鏈夊瓙椤圭殑鎶樻墸鍚楋紵", "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning",
+      })
+        .then(() => {
+          this.discount = currentValue;
+          if (this.discount < this.getInfodis) {
+            this.discount = this.getInfodis;
+          }
+          let totalYsprice = new Big(0);
+          this.tableData1.forEach((item) => {
+            item.discount = this.discount;
+            const ordPrice = new Big(item.ordPrice);
+            const discount = new Big(item.discount);
+            const result = ordPrice.times(discount.div(10));
+            item.nowPrice = result.toNumber();
+            totalYsprice = totalYsprice.plus(new Big(item.nowPrice));
+          });
+          if (!totalYsprice.eq(this.TotalPrice)) {
+            const diff = new Big(this.TotalPrice).minus(totalYsprice);
+            if (this.tableData1.length > 0) {
+              const lastItem = this.tableData1[this.tableData1.length - 1];
+              const newYsPrice = new Big(lastItem.nowPrice)
+                .plus(diff)
+                .toNumber();
+              // console.log(
+              //   "hhh",
+              //   this.tableData1[this.tableData1.length - 1].nowPrice,
+              //   newYsPrice
+              // );
+              this.$set(
+                this.tableData1[this.tableData1.length - 1],
+                "nowPrice",
+                newYsPrice
+              );
+            }
+          }
+          this.lastXianPrice = this.TotalPrice;
+        })
+        .catch(() => {
+          this.discount = oldValue;
+        });
+    },
+     handleManualChange(row) {
+      this.updateProPrice(row);
+    },
+
+     validateDiscount(row) {
+      if (
+        this.TotalPrice !== undefined &&
+        !isNaN(this.TotalPrice) &&
+        this.TotalPrice !== this.lastXianPrice
+      ) {
+        this.updateProPrice1(row);
+        this.lastXianPrice = this.TotalPrice;
+      }
+    },
+    updateProPrice1(row) {
+      const ordPrice = new Big(row.ordPrice);
+      const discount = new Big(row.discount);
+      const result = ordPrice.times(discount.div(10));
+      row.nowPrice = result.toNumber();
+      const totalYsPrice = this.tableData1.reduce((sum, item) => {
+        return sum.plus(new Big(item.nowPrice || "0"));
+      }, new Big(0));
+      const totalYsPriceNum = totalYsPrice.toNumber();
+      if (this.TotalPrice !== undefined && !isNaN(this.TotalPrice)) {
+        const xianPrice = new Big(this.TotalPrice);
+        const diff = xianPrice.minus(totalYsPriceNum);
+        if (!diff.eq(0) && this.tableData1.length > 0) {
+          const lastItem = this.tableData1[this.tableData1.length - 1];
+          const newYsPrice = new Big(lastItem.nowPrice).plus(diff).toNumber();
+          this.$set(
+            this.tableData1[this.tableData1.length - 1],
+            "nowPrice",
+            newYsPrice
+          );
+        }
+      }
+
+      // Update youhui calculation
+      if (this.TotalPrice1 !== 0 && this.TotalPrice !== 0) {
+        this.discount =
+          (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / 100) * 10;
+      } else {
+        this.discount = 0;
+      }
+    },
+
+     updateProPrice(row) {
+      const ordPrice = new Big(row.proPrice);
+      const discount = new Big(row.discount);
+      const result = ordPrice.times(discount.div(10)); // ordPrice * (discount / 10)
+      row.nowPrice = result.toNumber();
+      this.TotalPrice = this.DataList3.reduce((sum, item) => {
+        return sum.plus(new Big(item.nowPrice || "0"));
+      }, new Big(0));
+      this.discount =
+        (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / 100) * 10;
+    },
+
+    handleRevoke() {
+      this.isLoading = true;
+      this.$confirm("鎮ㄧ‘璁よ鎾ら攢锛�", "纭淇℃伅", {
+        distinguishCancelAndClose: true,
+        confirmButtonText: "纭",
+        cancelButtonText: "鍙栨秷",
+      })
+        .then(() => {
+          revokeTjOrderByTjNum(this.tjnumbers).then((res) => {
+            if (res.code == 200) {
+              this.$modal.msgSuccess("鎾ら攢鎴愬姛");
+              this.isLoading = false
+              this.getList();
+            }
+          }).catch(() => {
+            console.log("鍔犺浇澶辫触")
+            this.isLoading = false;
+          }).finally(() => {
+            console.log("鍔犺浇澶辫触")
+            // 涓嶈鎿嶄綔鎴愬姛杩樻槸澶辫触锛岄兘浼氭墽琛�
+            this.isLoading = false;
+          });
+        })
+        .catch((action) => {
+          if (action === "cancel") {
+            this.isLoading = false;
+            this.$message({
+              type: "warning",
+              message: "宸插彇娑�",
+            });
+          }
+        })
+        .finally(() => {
+          // 涓嶈鎿嶄綔鎴愬姛杩樻槸澶辫触锛岄兘浼氭墽琛�
+          // this.isLoading = false;
+        });
+    },
+    /** 鐐瑰嚮鏄剧ず浣撴鎶ュ憡鎶ヨ〃*/
+    // viewReport(row) {
+    //   const tjNumber = row.tjNumber;
+    //   const viewNum = "792997692059705344";
+    //   const params = { viewNum, tjNumber };
+    //   gettoPdf(tjNumber).then((res) => {
+    //     if (res == 1) {
+    //       this.$tab.openPage("浣撴鎶ュ憡", "/report/viewReport", params);
+    //     } else {
+    //       this.$message.error("璇ョ敤鎴蜂綋妫�鏆傛湭瀹屾垚锛屾棤娉曟墦鍗颁綋妫�鎶ュ憡锛�");
+    //     }
+    //   });
+    // },
+
+    //lige   缁撴潫
+    viewReport(row) {
+      const tjNumber = row.tjNumber;
+      const flag = true;
+      getPdf(tjNumber, flag).then((response) => {
+        if (response.size === 0) {
+          this.$message.error("璇ョ敤鎴蜂綋妫�鎶ュ憡鏆傛湭瀹屾垚锛�");
+          this.dialogVisible = false;
+        } else {
+          this.dialogVisible = true;
+          this.url = window.webkitURL.createObjectURL(response); //灏嗗悗绔繑鍥炵殑blob鏂囦欢璇诲彇鍑簎rl
+        }
+      });
+    },
+
+    // LoadFileImg(row) {
+    //   const tjNumber = row.tjNumber;
+    //   getTjNumber(tjNumber).then((response) => {
+    //     if (response.size === 0) {
+    //       this.$message.error("璇ョ敤鎴锋湭鐢熸垚瀵兼鍗�");
+    //       this.daoZhenDan = false;
+    //     } else {
+    //       this.daoZhenDan = true;
+    //       this.url = window.webkitURL.createObjectURL(response); //灏嗗悗绔繑鍥炵殑blob鏂囦欢璇诲彇鍑簎rl
+    //     }
+    //   });
+    // },
+
+    handleSizeChange(val) {
+      this.queryParams.pageNum = 1;
+      this.queryParams.pageSize = val;
+      this.getList();
+    },
+    handleCurrentChange(val) {
+      this.queryParams.pageNum = val;
+      this.getList();
+    },
+
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        orderId: null,
+        userId: null,
+        tjType: null,
+        tjNumber: null,
+        tjSerialNumber: null,
+        pacId: null,
+        createTime: null,
+        finishTime: null,
+        updateTime: null,
+        reportTime: null,
+        createBy: null,
+        updateBy: null,
+        deleted: null,
+        firmId: null,
+        firmDeptName: null,
+        firmWorkId: null,
+        photo: null,
+        djbeginTime: null,
+        djendTime: null,
+        bgbeginTime: null,
+        bgendTime: null,
+        dw: null,
+      };
+      this.resetForm("form");
+    },
+    hb() {
+      if (this.queryParams.tjNum != undefined) {
+        this.handleQuery();
+      }
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      // 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() {
+      this.startTime = [];
+      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);
+      // if (selection.length > 1) {
+      //   const newSelection = [selection[selection.length - 1]];
+      //   this.$nextTick(() => {
+      //     this.$refs.tableRef.clearSelection();
+      //     this.$refs.tableRef.toggleRowSelection(newSelection[0], true);
+      //   });
+      // }
+      selection.forEach((item) => {
+        this.orderIds = item.orderId;
+        this.tjnumbers = item.tjNumber;
+        this.cusIds = item.tjCusIdCard;
+        this.userIds = item.userId;
+        this.cusIdcard = item.tjCusIdCard;
+        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.single = selection.length !== 1;
+      this.singles = selection.length !== 1;
+      this.multiple = !selection.length;
+      if (tjNUms.length > 0) {
+        shijianzhou(tjNUms).then((res) => {
+          this.shijianlist = res.data;
+        });
+      } else {
+        this.shijianlist = [];
+      }
+    },
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    // handleAdd() {
+    //   this.reset();
+    //   this.open = true;
+    //   this.title = "娣诲姞浣撴璁板綍";
+    // },
+
+    /** 璁㈠崟娴佹按鎸夐挳 */
+    handleUpdate(row) {
+      const tjNumber = row.tjNumber;
+      this.open = true;
+      getNumber(tjNumber).then((response) => {
+        // this.form = response.data;
+        this.numberList = response.data.charging;
+        this.bill = [];
+        var copeWith = 0;
+        var paidIn = 0;
+        var discount = "";
+        response.data.water.forEach((item) => {
+          copeWith += item.copeWith;
+          paidIn += item.paidIn;
+          discount = item.discount;
+        });
+        this.bill.push({
+          copeWith: copeWith,
+          paidIn: paidIn,
+          discount: discount,
+        });
+
+        this.title = "璁㈠崟娴佹按";
+      });
+      getTransitionInfo(tjNumber).then((res) => {
+        this.huizongList = res.data.huizong;
+        this.infoList = res.data.info;
+        this.huizongList.forEach((item, index) => {
+          item.newID =
+            (this.queryParams.pageNum - 1) * this.queryParams.pageSize +
+            index +
+            1;
+        });
+        this.infoList.forEach((item, index) => {
+          item.newID =
+            (this.queryParams.pageNum - 1) * this.queryParams.pageSize +
+            index +
+            1;
+        });
+      });
+    },
+    /** 璁㈠崟鏄庣粏鎸夐挳 */
+    handleUpdate1(row) {
+      const tjNumber = this.tjnumbers;
+      this.open = true;
+      getNumber(tjNumber).then((response) => {
+        // this.form = response.data;
+        this.numberList = response.data.charging;
+        this.bill = [];
+        var copeWith = 0;
+        var paidIn = 0;
+        var discount = "";
+        response.data.water.forEach((item) => {
+          copeWith += item.copeWith;
+          paidIn += item.paidIn;
+          discount = item.discount;
+        });
+        this.bill.push({
+          copeWith: copeWith,
+          paidIn: paidIn,
+          discount: discount,
+        });
+
+        this.title = "璁㈠崟娴佹按";
+      });
+      getTransitionInfo(tjNumber).then((res) => {
+        this.huizongList = res.data.huizong;
+        this.infoList = res.data.info;
+        this.huizongList.forEach((item, index) => {
+          item.newID =
+            (this.queryParams.pageNum - 1) * this.queryParams.pageSize +
+            index +
+            1;
+        });
+        this.infoList.forEach((item, index) => {
+          item.newID =
+            (this.queryParams.pageNum - 1) * this.queryParams.pageSize +
+            index +
+            1;
+        });
+      });
+    },
+    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>({data.proPrice}鍏�)</span>
+        </span>
+      );
+    },
+
+    // 琛ュ綍椤圭洰
+    handleProject(row) {
+      let dictType = "reservation_pay_type";
+      getDicts(dictType).then((res) => {
+        if (res.code == 200) {
+          this.jsType = res.data[0].dictValue;
+        }
+      })
+      let dictTypes = "dict_pay_type";
+      getDicts(dictTypes).then((res) => {
+        if (res.code == 200) {
+          this.payType = res.data[0].dictValue;
+        }
+      })
+
+      this.loading = true;
+      this.DataList = [];
+      this.DataList3 = [];
+      this.Datalists = [];
+      this.TotalPrice1 = 0;
+      this.filterText = "",
+        this.filterage = "",
+        this.orderId = row.orderId;
+      this.cusId = row.tjCusIdCard;
+      this.userId = row.userId;
+      this.customer = {
+        cusIdcard: row.tjCusIdCard,
+        cusName: row.tjCustomerName,
+        cusPhone: row.tjCustomerPhone,
+        cusSex: row.tjCustomerSex,
+      };
+      if (row.tjType) {
+        this.form.tjType = parseInt(row.tjType);
+      } else {
+        this.form.tjType = 2;
+      }
+      this.activeNames = "first";
+      /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */
+      this.handleClick();
+
+      this.Projectopen = true;
+      this.title = "琛ュ綍椤圭洰";
+    },
+
+    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;
+
+        //   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.Projectssopen = true;
+          this.title1 = "鎾ら攢琛ュ綍";
+        } else {
+          this.$message({
+            type: "warning ",
+            message: "璇ュ鎴锋病鏈夎ˉ褰曢」鐩�",
+          });
+        }
+      });
+    },
+    // 琛ュ綍椤圭洰
+    handleProject1() {
+      let dictType = "reservation_pay_type";
+      getDicts(dictType).then((res) => {
+        if (res.code == 200) {
+          this.jsType = res.data[0].dictValue;
+        }
+      })
+      let dictTypes = "dict_pay_type";
+      getDicts(dictTypes).then((res) => {
+        if (res.code == 200) {
+          this.payType = res.data[0].dictValue;
+        }
+      })
+      this.loading = true;
+      this.DataList = [];
+      this.DataList3 = [];
+      this.Datalists = [];
+      this.filterText = "",
+        this.filterage = "",
+        this.TotalPrice1 = 0;
+      this.orderId = this.ids;
+      this.cusId = this.cusIds;
+      this.userId = this.userIds;
+      this.customer = {
+        cusIdcard: this.cusIdcard,
+        cusName: this.cusName,
+        cusPhone: this.cusPhone,
+        cusSex: this.cusSex,
+      };
+      this.activeNames = "first";
+      /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */
+      this.handleClick();
+
+      this.Projectopen1 = true;
+      this.title = "琛ュ綍椤圭洰";
+    },
+
+    // 鐐瑰嚮鑾峰彇姣忎釜鏍戣妭鐐�
+    /*  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) => {
+            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) {
+                item1.propinName = data.proName;
+              }
+            });
+          });
+          this.TotalPrice1 = 0;
+          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 == 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;
+          });
+        });
+      }
+    },
+
+    spliceData() {
+      for (var i = 0; i < this.DataList.length; i++) {
+        for (var j = i + 1; j < this.DataList.length; j++) {
+          if (this.DataList[i].proId == this.DataList[j].proId) {
+            //濡傛灉绗竴涓瓑浜庣浜屼釜锛宻plice鏂规硶鍒犻櫎绗簩涓�
+            this.DataList.splice(j, 1);
+            j--;
+          }
+        }
+      }
+      return this.DataList;
+    },
+
+    // 鐐瑰嚮鑾峰彇姣忎釜鏍戣妭鐐�
+    handleCurrentChecked1(data, checked, checkedNodes) {
+      if (checked == false) {
+        this.DataList.forEach((item, index) => {
+          if (item.proId == data.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;
+            }
+          }
+        });
+      } else if (checked == true) {
+        this.DataList.push(data);
+        this.DataList.forEach((item1) => {
+          if (item1.proParentId == this.dataObj.proId) {
+            item1.propinName = this.dataObj.proName;
+          }
+        });
+        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) => {
+        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;
+          }
+        }
+      });
+    },
+
+    //  // 榛樿鎺ュ彈鍥涗釜鍊� { 褰撳墠琛岀殑鍊�, 褰撳墠鍒楃殑鍊�, 琛岀殑涓嬫爣, 鍒楃殑涓嬫爣 }
+    objectSpanMethod({ row, column, rowIndex, columnIndex }) {
+      // console.log(row, column, rowIndex, columnIndex);
+      let fields = ["propinName"];
+      let cellValue = row[column.property];
+      if (cellValue && fields.includes(column.property)) {
+        let prevRow = this.DataList[rowIndex - 1];
+        let nextRow = this.DataList[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.DataList[++countRowspan + rowIndex];
+          }
+          if (countRowspan > 1) {
+            return { rowspan: countRowspan, colspan: 1 };
+          }
+        }
+      }
+    },
+
+    objectSpanMethod1({ row, column, rowIndex, columnIndex }) {
+      // console.log(row, column, rowIndex, columnIndex);
+      let fields = ["parent_pro_name"];
+      let cellValue = row[column.property];
+      if (cellValue && fields.includes(column.property)) {
+        let prevRow = this.infoList[rowIndex - 1];
+        let nextRow = this.infoList[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.infoList[++countRowspan + rowIndex];
+          }
+          if (countRowspan > 1) {
+            return { rowspan: countRowspan, colspan: 1 };
+          }
+        }
+      }
+    },
+
+    objectSpanMethod2({ row, column, rowIndex, columnIndex }) {
+      // console.log(row, column, rowIndex, columnIndex);
+      let fields = ["propinName"];
+      let cellValue = row[column.property];
+      if (cellValue && fields.includes(column.property)) {
+        let prevRow = this.DataListss[rowIndex - 1];
+        let nextRow = this.DataListss[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.DataListss[++countRowspan + rowIndex];
+          }
+          if (countRowspan > 1) {
+            return { rowspan: countRowspan, colspan: 1 };
+          }
+        }
+      }
+    },
+
+    // 鏀惰垂鎸夐挳
+    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);
+        });
+      }
+      let data = {
+        cusId: this.cusId,
+        proIds: this.proIds,
+      };
+      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);
+          let discount = this.discount;
+          let data = {
+            customer: this.customer,
+            paidIn,
+            discount,
+            copeWith,
+            tjType,
+            orderId: this.orderId,
+            tjProIds: this.proIds,
+            payType: this.payType,
+          };
+          getwater(data).then((res) => {
+            this.isSubmit = false;
+            this.$modal.msgSuccess("鎻愪氦鎴愬姛");
+            this.mobanId = res.data.mobanId;
+            this.waterId = res.data.waterId;
+            const tjnumber = this.waterId;
+            const viewNum = this.mobanId;
+            const params = { viewNum, tjnumber };
+            this.$tab.openPage("鏀舵灏忕エ", "/report/charge", params);
+            this.Projectopen = false;
+          });
+        }
+      });
+    },
+    // 鏀惰垂鎸夐挳
+    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);
+        });
+      }
+      let data = {
+        cusId: this.cusIds,
+        proIds: this.proIds,
+      };
+      getaddtTransition(data).then((response) => {
+        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);
+          let discount = this.discount;
+          let data = {
+            customer: this.customer,
+            paidIn,
+            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;
+            this.waterId = res.data.waterId;
+            const tjnumber = this.waterId;
+            const viewNum = this.mobanId;
+            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 = [];
+      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;
+              });
+            }
+          });
+        });
+      });
+    },
+
+    /** 鎻愪氦鎸夐挳 */
+    submitForm() {
+      this.$confirm(" 鏄惁鎾ら攢璇ヨˉ褰曢」鐩�?", "鎻愮ず", {
+        confirmButtonText: "鏄�",
+        cancelButtonText: "鍚�",
+        type: "warning",
+      })
+        .then(() => {
+          let data = {
+            tjh: this.tjnumbers,
+            bldhs: this.bldhs,
+          };
+          revokeBlProByBldhAndTjh(data).then((res) => {
+            this.Projectssopen = false;
+          });
+        })
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "宸插彇娑堟挙閿�",
+          });
+          this.Projectssopen = false;
+        });
+    },
+
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      this.download(
+        "hosp/order/export",
+        {
+          ...this.queryParams,
+        },
+        `order_${new Date().getTime()}.xlsx`
+      );
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+.pag {
+  width: 100%;
+  display: flex;
+  justify-content: center;
+  margin-top: 15px;
+}
+
+.pag1 {
+  width: 30%;
+}
+
+.main {
+  height: 700px;
+  overflow: hidden;
+}
+
+#printIframe::-webkit-scrollbar {
+  width: 6px;
+}
+
+/* 淇敼 婊氬姩鏉$殑 涓嬮潰 鐨� 鏍峰紡 */
+#printIframe::-webkit-scrollbar-track {
+  background-color: white;
+  -webkit-border-radius: 2em;
+  -moz-border-radius: 2em;
+  border-radius: 2em;
+}
+
+/* 淇敼 婊戝潡 */
+#printIframe::-webkit-scrollbar-thumb {
+  background-color: #dcdfe6;
+  -webkit-border-radius: 2em;
+  -moz-border-radius: 2em;
+  border-radius: 2em;
+}
+
+// .el-dialog {
+//   width: 1264px;
+//   min-height: 800px;
+// }
+
+// .el-dialog__header {
+//   display: flex;
+//   justify-content: space-between;
+//   align-items: center;
+// }
+
+// .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: 420px;
+  overflow-y: auto;
+  border: 1px solid #d9d9d9;
+}
+
+.outside1 {
+  width: 500px;
+  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>
diff --git a/src/views/hosp/order/index.vue b/src/views/hosp/order/index.vue
index 1e200a9..add60fd 100644
--- a/src/views/hosp/order/index.vue
+++ b/src/views/hosp/order/index.vue
@@ -75,7 +75,7 @@
             v-hasPermi="['hosp:order:export']">瀵煎嚭</el-button>
         </el-col>
 
-       
+
         <el-col :span="1.5">
           <el-button type="primary" size="mini" @click="handleProject1" :disabled="single"
             v-hasPermi="['hosp:order:export']">琛ュ綍椤圭洰</el-button>
@@ -97,16 +97,17 @@
           <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 style="background-color:#E6A23C;color:#fff"
-           size="mini" @click="handleRevoke" :disabled="single">鎾ら攢绛惧埌</el-button>
+        <el-col :span="1.5">
+          <el-button style="background-color:#E6A23C;color:#fff" size="mini" @click="handleRevoke"
+            :disabled="single">鎾ら攢绛惧埌</el-button>
         </el-col>
         <el-col :span="1.5">
           <el-button style="background-color:#E6A23C;color:#fff" size="mini" @click="ForceChexiao" :disabled="single"
             v-hasPermi="['qzcx']">寮哄埗鎾ら攢</el-button>
         </el-col>
         <el-col :span="1.5">
-          <el-button style="background-color:#E6A23C;color:#fff" size="mini" @click="ResumeAppointment" :disabled="multiple">鎭㈠棰勭害</el-button>
+          <el-button style="background-color:#E6A23C;color:#fff" size="mini" @click="ResumeAppointment"
+            :disabled="multiple">鎭㈠棰勭害</el-button>
         </el-col>
         <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
       </el-row>
@@ -473,6 +474,7 @@
               </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">
@@ -534,7 +536,7 @@
       </el-dialog>
 
       <!-- 娣诲姞琛ュ綍椤圭洰 -->
-      <el-dialog :title="title" :visible.sync="Projectopen1" width="1100px" style="height: 860px" append-to-body
+      <el-dialog :title="title" :visible.sync="Projectopen1" width="1200px" style="height: 860px" append-to-body
         :close-on-click-modal="false">
         <div class="box">
           <div class="box1">
@@ -586,9 +588,9 @@
             </div>
             <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 prop="propinName" label="妫�鏌ラ」鐩�" width="160px" :show-overflow-tooltip="true">
               </el-table-column>
-              <el-table-column prop="proName" label="鏄庣粏椤圭洰" width="200px" :show-overflow-tooltip="true">
+              <el-table-column prop="proName" label="鏄庣粏椤圭洰" width="160px" :show-overflow-tooltip="true">
               </el-table-column>
               <el-table-column prop="sl" label="鏁伴噺" width="56px">
               </el-table-column>
@@ -786,10 +788,10 @@
               <el-table-column align="center" prop="price" label="璐圭敤鍚堣">
               </el-table-column>
               <el-table-column align="center" prop="sfzt" label="璐圭敤鐘舵��">
-                 <template v-slot="scope">
-                    <span v-if="scope.row.sfzt">{{ '宸茬粨璐�' }}</span>
-                    <span v-else>{{ '鏈粨璐�' }}</span>
-                 </template>
+                <template v-slot="scope">
+                  <span v-if="scope.row.sfzt">{{ '宸茬粨璐�' }}</span>
+                  <span v-else>{{ '鏈粨璐�' }}</span>
+                </template>
               </el-table-column>
             </el-table>
             <h3>浠樻璇︽儏</h3>
@@ -1348,8 +1350,6 @@
       // 鍏堣皟鐢� 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
@@ -1370,7 +1370,6 @@
 
     // 寮哄埗鎾ら攢鎸夐挳
     ForceChexiao() {
-
       const tjNum = this.tjnumbers;
       this.isLoading = true
       this.$confirm(
@@ -1383,17 +1382,13 @@
           customClass: "custom-message-box",
         }
       )
-
         .then(() => {
-
           getForceChexiao(tjNum).then((res) => {
-
             if (res.code == 200) {
               this.$modal.msgSuccess("鎾ら攢鎴愬姛");
               this.isLoading = false
               this.getList();
             }
-
           }).catch(() => {
             console.log("鍔犺浇澶辫触")
             this.isLoading = false;
@@ -1459,6 +1454,37 @@
           // 涓嶈鎿嶄綔鎴愬姛杩樻槸澶辫触锛岄兘浼氭墽琛�
 
         });
+    },
+
+
+     updateProPrice(row) {
+      const ordPrice = new Big(row.ordPrice);
+      const discount = new Big(row.discount);
+      const result = ordPrice.times(discount.div(10)); // ordPrice * (discount / 10)
+      row.nowPrice = result.toNumber();
+      this.TotalPrice = this.tableData1.reduce((sum, item) => {
+        return sum.plus(new Big(item.nowPrice || "0"));
+      }, new Big(0));
+
+      this.discount =
+        (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / 100) * 10;
+    },
+
+
+     handleManualChange(row) {
+      this.updateProPrice(row);
+    },
+
+     updateProPrice(row) {
+      const ordPrice = new Big(row.ordPrice);
+      const discount = new Big(row.discount);
+      const result = ordPrice.times(discount.div(10)); // ordPrice * (discount / 10)
+      row.nowPrice = result.toNumber();
+      this.TotalPrice = this.DataList3.reduce((sum, item) => {
+        return sum.plus(new Big(item.nowPrice || "0"));
+      }, new Big(0));
+      this.discount =
+        (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / 100) * 10;
     },
 
     handleRevoke() {
@@ -2021,8 +2047,8 @@
       this.Datalists = [];
       this.TotalPrice1 = 0;
       this.filterText = "",
-      this.filterage = "",
-      this.orderId = row.orderId;
+        this.filterage = "",
+        this.orderId = row.orderId;
       this.cusId = row.tjCusIdCard;
       this.userId = row.userId;
       this.customer = {
@@ -2103,8 +2129,8 @@
       this.DataList3 = [];
       this.Datalists = [];
       this.filterText = "",
-      this.filterage = "",
-      this.TotalPrice1 = 0;
+        this.filterage = "",
+        this.TotalPrice1 = 0;
       this.orderId = this.ids;
       this.cusId = this.cusIds;
       this.userId = this.userIds;
diff --git a/src/views/system/tijian/index.vue b/src/views/system/tijian/index.vue
index a0d7bad..cababad 100644
--- a/src/views/system/tijian/index.vue
+++ b/src/views/system/tijian/index.vue
@@ -284,7 +284,7 @@
     <el-dialog title="閫夋嫨濂楅" :visible.sync="taocan" width="70%" height="700px" :close-on-click-modal="false">
       <el-tabs type="border-card" style="height: 560px; margin: 0 10px; width: 100%" v-model="activeNames"
         @tab-click="handleClick">
-        <el-tab-pane label="濂楅" name="first">
+        <el-tab-pane label="濂楅" name="first" :disabled ="form.sftj == 'Y'|| form.sftj == 'y'">
           <el-form :model="queryParam" ref="queryForm" size="small" :inline="true" v-if="showSearch" label-width="auto"
             @submit.native.prevent="handle">
             <el-form-item label="濂楅鍚嶇О" prop="pacName">
@@ -306,7 +306,7 @@
             </div>
           </div>
         </el-tab-pane>
-        <el-tab-pane label="缁勫悎" name="third">
+        <el-tab-pane label="缁勫悎" name="third" :disabled ="form.sftj == 'Y'|| form.sftj == 'y'">
           <el-row :gutter="20" style="width: 100%">
             <el-col :span="6" style="min-width: 200px">
               <div style="text-align: center; margin-bottom: 10px; margin-top: 10px;">
@@ -367,7 +367,7 @@
             </el-col>
           </el-row>
         </el-tab-pane>
-        <el-tab-pane label="鍗曢」" name="second">
+        <el-tab-pane label="鍗曢」" name="second" :disabled ="form.sftj == 'Y'|| form.sftj == 'y'">
           <el-row :gutter="20" style="width: 100%">
             <el-col :span="6" style="min-width: 200px">
               <div style="text-align: center; margin-bottom: 10px; margin-top: 10px;">
@@ -421,7 +421,7 @@
             </el-col>
           </el-row>
         </el-tab-pane>
-        <el-tab-pane label="浜插睘濂楅" name="four">
+        <el-tab-pane label="浜插睘濂楅" name="four" :disabled ="form.sftj == 'N'|| form.sftj == 'n'">
           <el-form :model="queryParam" ref="queryForm" size="small" :inline="true" v-if="showSearch" label-width="auto"
             @submit.native.prevent="handle">
             <el-form-item label="濮撳悕" prop="pacName">
@@ -452,7 +452,6 @@
         <el-button type="primary" @click="submit">纭� 瀹�</el-button>
       </span>
     </el-dialog>
-    <!-- -->
     <el-row v-if="tcShow">
       <el-col :span="15">
         <div class="grid-content bg-purple">
@@ -508,7 +507,11 @@
                   @blur="numberChangeXianPrice(discount, discount)" />
               </el-form-item>
               <el-form-item label="鏄惁鏇挎" v-if="tjtype">
-                <el-input placeholder="鏄惁鏇挎" v-model="sftj" style="width: 150px"></el-input>
+                <!-- <el-input placeholder="鏄惁鏇挎" v-model="sftj" style="width: 150px"></el-input> -->
+                 <el-select  v-model="form.sftj" placeholder="鏄惁鏇挎" style="width: 150px">
+                  <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label"
+                    :value="dict.value"></el-option>
+                </el-select>
               </el-form-item>
               <br />
 
@@ -2408,6 +2411,11 @@
           });
         } else if (!this.form.firmId && this.form.firmName) {
           this.taocan = true;
+          if(this.form.sftj == "Y" || this.form.sftj == "y"){
+            this.activeNames = "four"
+          }else{
+            this.activeNames = "first"
+          }
           this.loading = true;
           deptTreeSelect(cusSex).then((response) => {
             this.newpacName = response.rows;
@@ -2433,6 +2441,11 @@
 
         else {
           this.taocan = true;
+            if(this.form.sftj == "Y" || this.form.sftj == "y"){
+            this.activeNames = "four"
+          }else{
+            this.activeNames = "first"
+          }
           this.loading = true;
           tuantiSelect(param).then((res) => {
             this.newpacName = res.data;
@@ -2457,6 +2470,11 @@
         }
       } else {
         this.taocan = true;
+          if(this.form.sftj == "Y" || this.form.sftj == "y"){
+            this.activeNames = "four"
+          }else{
+            this.activeNames = "first"
+          }
         this.loading = true;
         deptTreeSelect(cusSex).then((response) => {
           this.newpacName = response.rows;

--
Gitblit v1.8.0