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

---
 src/views/hosp/order/index.vue | 1555 +++++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 1,082 insertions(+), 473 deletions(-)

diff --git a/src/views/hosp/order/index.vue b/src/views/hosp/order/index.vue
index 5ea424e..cc0e9fa 100644
--- a/src/views/hosp/order/index.vue
+++ b/src/views/hosp/order/index.vue
@@ -13,7 +13,7 @@
           ref="inputName"
           v-model="queryParams.name"
           placeholder="璇疯緭鍏ュ鍚�"
-          style="width: 120px"
+          style="width: 150px"
           clearable
           @keyup.enter.native="handleQuery"
         />
@@ -23,7 +23,7 @@
           ref="inputName"
           v-model="queryParams.tjNum"
           placeholder="璇疯緭鍏ヤ綋妫�鍙�"
-          style="width: 170px"
+          style="width: 150px"
           clearable
           @keyup.enter.native="handleQuery"
           @blur="hb"
@@ -34,12 +34,59 @@
           ref="inputName"
           v-model="queryParams.xmmc"
           placeholder="璇疯緭鍏ヤ綋妫�椤圭洰"
-          style="width: 120px"
+          style="width: 150px"
           clearable
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="鐧昏鏃堕棿" prop="createTimeList">
+      <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"
@@ -95,6 +142,24 @@
       </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
@@ -112,6 +177,7 @@
           type="primary"
           size="mini"
           @click="handleRevoke"
+          :loading="isLoading"
           :disabled="single"
           >鎾ら攢绛惧埌</el-button
         >
@@ -167,6 +233,25 @@
           >鎵撳嵃琛ュ綍鍗�</el-button
         >
       </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          size="mini"
+          @click="ForceChexiao"
+          :disabled="single"
+          v-hasPermi="['qzcx']"
+          >寮哄埗鎾ら攢</el-button
+        >
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          size="mini"
+          @click="ResumeAppointment"
+          :disabled="multiple"
+          >鎭㈠棰勭害</el-button
+        >
+      </el-col>
       <right-toolbar
         :showSearch.sync="showSearch"
         @queryTable="getList"
@@ -178,6 +263,7 @@
         border
         v-loading="loading"
         :data="orderList"
+        ref="tableRef"
         @selection-change="handleSelectionChange"
       >
         <el-table-column
@@ -246,8 +332,12 @@
           :show-overflow-tooltip="true"
         >
           <template slot-scope="scope">
-            <span v-if="scope.row.tjType == '2'">涓汉</span>
-            <span v-if="scope.row.tjType == '1'">鍥㈤槦</span>
+            <dict-tag
+              :options="dict.type.dict_team"
+              :value="scope.row.tjType"
+            />
+            <!-- <span v-if="scope.row.tjType == '2'">涓汉</span>
+            <span v-if="scope.row.tjType == '1'">鍥㈤槦</span> -->
           </template>
         </el-table-column>
         <el-table-column
@@ -264,6 +354,18 @@
           :show-overflow-tooltip="true"
           width="160px"
         />
+        <el-table-column
+          label="鍗曚綅鍚嶇О"
+          align="center"
+          prop="dictCompName"
+          :show-overflow-tooltip="true"
+        />
+        <el-table-column
+          label="鐘舵��"
+          align="center"
+          prop="zt"
+          :show-overflow-tooltip="true"
+        />
         <!-- <el-table-column label="娴佹按鍙�" align="center" prop="tjSerialNumber" /> -->
         <el-table-column
           label="鎵�閫夊椁�"
@@ -272,6 +374,18 @@
           :formatter="driver"
           :show-overflow-tooltip="true"
         />
+        <el-table-column
+          label="瀵艰瘖鎵撳嵃娆℃暟"
+          align="center"
+          prop="dycs"
+          width="110px"
+          :formatter="driver"
+          :show-overflow-tooltip="true"
+        >
+          <template slot-scope="scope">
+            {{ scope.row.dycs === null ? 0 : scope.row.dycs }}
+          </template>
+        </el-table-column>
         <el-table-column
           label="鐧昏鏃堕棿"
           align="center"
@@ -313,19 +427,14 @@
         </el-table-column>
         <!-- <el-table-column label="鍒涘缓浜�" align="center" prop="createBy" /> -->
         <!-- <el-table-column label="鏇存柊浜�" align="center" prop="updateBy" /> -->
-        <el-table-column
+        <!--  <el-table-column
           label="鍗曚綅宸ュ彿"
           align="center"
           prop="firmWorkId"
           width="100px"
           :show-overflow-tooltip="true"
-        />
-        <el-table-column
-          label="鍗曚綅鍚嶇О"
-          align="center"
-          prop="dictCompName"
-          :show-overflow-tooltip="true"
-        />
+        /> -->
+
         <!-- <el-table-column label="閮ㄩ棬鍚�" align="center" prop="firmDeptName" /> -->
 
         <!-- <el-table-column label="瀹㈡埛鐓х墖" align="center" prop="photo" /> -->
@@ -474,312 +583,6 @@
       append-to-body
       :close-on-click-modal="false"
     >
-      <el-tabs
-        type="border-card"
-        style="height: 640px; 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="6">
-                <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="handlepackage"
-                    :default-checked-keys="checkedkeys"
-                    :filter-node-method="filterpackage"
-                    ref="treas"
-                    :render-content="renderContents"
-                  >
-                  </el-tree>
-                </div>
-              </el-col>
-              <el-col :span="6">
-                <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">
-                <div class="grid-content bg-purple">
-                  <div
-                    style="
-                      text-align: center;
-                      margin-bottom: 10px;
-                      margin-top: 10px;
-                    "
-                  >
-                    宸查�夐」鐩垪琛�
-                  </div>
-                  <el-table
-                    :data="Datalists"
-                    border
-                    style="width: 100%"
-                    height="400"
-                    :span-method="objectspanmethod"
-                  >
-                    <el-table-column prop="propinName" label="妫�鏌ラ」鐩�">
-                    </el-table-column>
-                    <el-table-column
-                      prop="proName"
-                      label="鏄庣粏椤圭洰"
-                      width="260px"
-                    >
-                    </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>
-              </el-col>
-            </el-row>
-          </div>
-        </el-tab-pane>
-        <el-tab-pane label="鍗曢」" name="third">
-          <el-row type="flex" class="row-bg" justify="space-around">
-            <el-col :span="6">
-              <div
-                style="
-                  text-align: center;
-                  margin-bottom: 10px;
-                  margin-top: 10px;
-                "
-              >
-                椤圭洰鍒楄〃
-              </div>
-              <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" v-model="filterText">
-              </el-input>
-              <div class="tab3">
-                <el-tree
-                  class="filter-tree"
-                  v-loading="loading"
-                  :data="Treedata"
-                  :props="defaultProps"
-                  show-checkbox
-                  node-key="proId"
-                  @check="handleCurrentChecked"
-                  :default-checked-keys="checkedkey"
-                  :filter-node-method="filterNode"
-                  ref="tree"
-                  :render-content="renderContent"
-                >
-                </el-tree>
-              </div>
-            </el-col>
-            <el-col :span="5">
-              <div
-                style="
-                  text-align: center;
-                  margin-bottom: 10px;
-                  margin-top: 10px;
-                "
-              >
-                鏄庣粏椤圭洰鍒楄〃
-              </div>
-              <div class="tab3">
-                <el-tree
-                  class="filter-tree"
-                  v-loading="loading"
-                  :data="TreedataList"
-                  node-key="proId"
-                  :props="defaultProps"
-                  :filter-node-method="filterNode"
-                  show-checkbox
-                  @check-change="handleCurrentChecked1"
-                  :default-checked-keys="checkedListkey"
-                  :render-content="renderContent"
-                >
-                </el-tree>
-              </div>
-            </el-col>
-            <el-col :span="11">
-              <div class="grid-content bg-purple">
-                <div
-                  style="
-                    text-align: center;
-                    margin-bottom: 10px;
-                    margin-top: 10px;
-                  "
-                >
-                  宸查�夐」鐩垪琛�
-                </div>
-                <el-table
-                  :data="DataList"
-                  border
-                  style="width: 100%"
-                  height="400"
-                  :span-method="objectSpanMethod"
-                >
-                  <el-table-column prop="propinName" label="妫�鏌ラ」鐩�">
-                  </el-table-column>
-                  <el-table-column prop="proPrice" label="鍘熶环" width="56px">
-                  </el-table-column>
-                  <el-table-column
-                    prop="proName"
-                    label="鏄庣粏椤圭洰"
-                    width="260px"
-                  >
-                  </el-table-column>
-
-                  <el-table-column
-                    label="鎿嶄綔"
-                    align="center"
-                    fixed="right"
-                    class-name="small-padding fixed-width"
-                    width="50px"
-                  >
-                    <template slot-scope="scope">
-                      <el-button
-                        size="mini"
-                        type="text"
-                        icon="el-icon-delete"
-                        @click="handleDelete(scope.row)"
-                        title="鍒犻櫎"
-                      ></el-button>
-                    </template>
-                  </el-table-column>
-                </el-table>
-                <!-- <el-collapse v-model="activeName" accordion v-if="list1">
-              <div>
-                <el-collapse-item title="璇烽�夋嫨椤圭洰">
-                  <el-table :data="DataList" border style="width: 100%">
-                    <el-table-column prop="proName" label="椤圭洰" width="180">
-                    </el-table-column>
-                    <el-table-column prop="ordPrice" label="鍘熶环">
-                    </el-table-column>
-                  </el-table>
-                </el-collapse-item>
-              </div>
-            </el-collapse> -->
-                <template>
-                  <el-form :model="form">
-                    <el-form-item label="浣撴绫诲瀷" prop="tjType">
-                      <el-radio-group v-model="form.tjType">
-                        <el-radio :label="1">鍥㈤槦</el-radio>
-                        <el-radio :label="2">涓汉</el-radio>
-                      </el-radio-group>
-                    </el-form-item>
-                  </el-form>
-                </template>
-
-                <div class="outside">
-                  <el-form :inline="true" class="outside1">
-                    <el-form-item label="鍘熶环">
-                      <el-input
-                        placeholder="鍘熶环"
-                        :value="TotalPrice1"
-                        disabled
-                        style="width: 90px"
-                      ></el-input>
-                    </el-form-item>
-                    <el-form-item label="鎶樻墸璁惧畾">
-                      <el-input
-                        style="width: 90px"
-                        type="number"
-                        v-model="discount"
-                        :value="discount"
-                      ></el-input>
-                    </el-form-item>
-                    <el-form-item label="搴斾粯閲戦">
-                      <el-input
-                        placeholder="搴斾粯閲戦"
-                        :value="TotalPrice1 * (discount / 10)"
-                        style="width: 90px"
-                      ></el-input>
-                    </el-form-item>
-                    <el-form-item label="浠樻绫诲瀷" prop="payType">
-                      <el-select
-                        style="width: 120px"
-                        v-model="payType"
-                        placeholder="璇烽�夋嫨浠樻绫诲瀷"
-                      >
-                        <el-option
-                          v-for="dict in dict.type.dict_pay_type"
-                          :key="dict.value"
-                          :label="dict.label"
-                          :value="dict.value"
-                        ></el-option>
-                      </el-select>
-                    </el-form-item>
-                    <el-form-item>
-                      <el-button
-                        type="primary"
-                        @click="submitPrice"
-                        :disabled="confirm"
-                        style="margin-top: 34px"
-                        >鎻愪氦</el-button
-                      >
-                    </el-form-item>
-                  </el-form>
-                </div>
-              </div>
-            </el-col>
-          </el-row>
-        </el-tab-pane>
-      </el-tabs>
-    </el-dialog>
-
-    <!-- 娣诲姞琛ュ綍椤圭洰 -->
-    <el-dialog
-      :title="title"
-      :visible.sync="Projectopen1"
-      width="1100px"
-      style="height: 860px"
-      append-to-body
-      :close-on-click-modal="false"
-    >
       <div class="box">
         <div class="box1">
           <div
@@ -819,7 +622,7 @@
                         :props="defaultProp"
                         show-checkbox
                         node-key="id"
-                        @check="handlepackage"
+                        @check-change="handlepackage"
                         :default-checked-keys="checkedkeys"
                         :filter-node-method="filterpackage"
                         ref="treas"
@@ -856,9 +659,9 @@
             </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
+                <el-row type="flex" class="row-bg" justify="space-around">
+                  <el-col :span="22">
+                    <!-- <div
                   style="
                     text-align: center;
                     margin-bottom: 10px;
@@ -867,29 +670,29 @@
                 >
                   椤圭洰鍒楄〃
                 </div> -->
-                  <el-input
-                    placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�"
-                    v-model="filterText"
-                  >
-                  </el-input>
-                  <div class="tab3">
-                    <el-tree
-                      class="filter-tree"
-                      v-loading="loading"
-                      :data="Treedata"
-                      :props="defaultProps"
-                      show-checkbox
-                      node-key="proId"
-                      @check="handleCurrentChecked"
-                      :default-checked-keys="checkedkey"
-                      :filter-node-method="filterNode"
-                      ref="tree"
-                      :render-content="renderContent"
+                    <el-input
+                      placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�"
+                      v-model="filterText"
                     >
-                    </el-tree>
-                  </div>
-                </el-col>
-                <!-- <el-col :span="11">
+                    </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;
@@ -917,7 +720,7 @@
                   </div>
                 </div>
               </el-col> -->
-                <!-- <el-col :span="11">
+                  <!-- <el-col :span="11">
               <div class="grid-content bg-purple">
                 <div
                   style="
@@ -965,7 +768,7 @@
                     </template>
                   </el-table-column>
                 </el-table> -->
-                <!-- <el-collapse v-model="activeName" accordion v-if="list1">
+                  <!-- <el-collapse v-model="activeName" accordion v-if="list1">
                   <div>
                     <el-collapse-item title="璇烽�夋嫨椤圭洰">
                       <el-table
@@ -987,28 +790,263 @@
                     </el-collapse-item>
                   </div>
                 </el-collapse> -->
-                <!-- </div>
+                  <!-- </div>
             </el-col> -->
-              </el-row>
+                </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 style="text-align: center; margin-bottom: 10px; margin-top: 9px">
             宸查�夐」鐩垪琛�
           </div>
           <el-table
             :data="DataList3"
             border
-            style="width: 100%"
+            style="width: 100%; table-layout: fixed"
             height="560"
             :span-method="objectspanmethod"
           >
-            <el-table-column prop="propinName" label="妫�鏌ラ」鐩�">
+            <el-table-column
+              prop="propinName"
+              label="妫�鏌ラ」鐩�"
+              width="200px"
+              :show-overflow-tooltip="true"
+            >
             </el-table-column>
-            <el-table-column prop="proName" label="鏄庣粏椤圭洰" width="260px">
+            <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="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">
+                    <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="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>
@@ -1035,17 +1073,108 @@
         </div>
       </div>
 
-      <div class="heji">
-        <template>
-          <el-form :model="form" :inline="true">
+      <el-form
+        :model="form"
+        inline
+        style="display: flex; justify-content: space-between; margin-top: 20px"
+      >
+        <!-- 浣撴绫诲瀷 -->
+        <el-form-item label="浣撴绫诲瀷" prop="tjType" style="display: flex">
+          <div class="type">
+            {{ { 1: "鍥㈤槦", 2: "涓汉", 3: "鍥綋绁�" }[form.tjType] }}
+          </div>
+        </el-form-item>
+
+        <!-- 鍘熶环 -->
+        <el-form-item label="鍘熶环" style="display: flex">
+          <el-input
+            placeholder="鍘熶环"
+            :value="TotalPrice1"
+            disabled
+            style="width: 90px"
+          ></el-input>
+        </el-form-item>
+
+        <!-- 鎶樻墸璁惧畾 -->
+        <el-form-item label="鎶樻墸" style="display: flex">
+          <el-input
+            style="width: 90px"
+            type="number"
+            v-model="discount"
+            :value="discount"
+          ></el-input>
+        </el-form-item>
+
+        <!-- 搴斾粯閲戦 -->
+        <el-form-item label="搴斾粯" style="display: flex">
+          <el-input
+            placeholder="搴斾粯閲戦"
+            :value="TotalPrice1 * (discount / 10)"
+            style="width: 90px"
+          ></el-input>
+        </el-form-item>
+
+        <!-- 浠樻绫诲瀷 -->
+        <el-form-item label="浠樻绫诲瀷" prop="payType" style="display: flex">
+          <el-select
+            style="width: 120px"
+            v-model="payType"
+            placeholder="璇烽�夋嫨浠樻绫诲瀷"
+            @change="onPayTypeChange"
+          >
+            <el-option
+              v-for="dict in dict.type.dict_pay_type"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+
+        <!-- 缁撶畻鏂瑰紡 -->
+        <el-form-item label="缁撶畻鏂瑰紡" prop="jsType" style="display: flex">
+          <el-select
+            v-model="jsType"
+            placeholder="璇烽�夋嫨缁撶畻鏂瑰紡"
+            style="width: 130px"
+            clearable
+          >
+            <el-option
+              v-for="dict in dict.type.reservation_pay_type"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            />
+          </el-select>
+        </el-form-item>
+
+        <!-- 鎻愪氦鎸夐挳 -->
+        <el-form-item style="display: flex">
+          <el-button
+            type="primary"
+            :loading="isSubmit1"
+            @click="submitPrice1"
+            :disabled="confirm"
+          >
+            鎻愪氦
+          </el-button>
+        </el-form-item>
+      </el-form>
+
+      <!-- <div class="heji">
+        <div class="o">
+          <el-form
+            :model="form"
+            :inline="true"
+            style="display: flex; align-items: center"
+          >
             <el-form-item label="浣撴绫诲瀷" prop="tjType">
-              <el-radio-group v-model="form.tjType">
-                <el-radio :label="1">鍥㈤槦</el-radio>
-                <el-radio :label="2">涓汉</el-radio>
-              </el-radio-group>
+              <div class="type">
+                {{ { 1: "鍥㈤槦", 2: "涓汉", 3: "鍥綋绁�" }[form.tjType] }}
+              </div>
             </el-form-item>
           </el-form>
-        </template>
+        </div>
 
         <div class="outsides">
           <el-form :inline="true" class="outside2" label-width="80px">
@@ -1077,6 +1206,7 @@
                 style="width: 120px"
                 v-model="payType"
                 placeholder="璇烽�夋嫨浠樻绫诲瀷"
+                @change="onPayTypeChange"
               >
                 <el-option
                   v-for="dict in dict.type.dict_pay_type"
@@ -1084,6 +1214,21 @@
                   :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">
@@ -1096,84 +1241,67 @@
             </el-form-item>
           </el-form>
         </div>
-      </div>
+      </div> -->
     </el-dialog>
 
-    <!-- 娣诲姞鎴栦慨鏀逛綋妫�璁板綍瀵硅瘽妗� -->
     <el-dialog
       :title="title"
       :visible.sync="open"
-      width="950px"
+      width="1400px"
       append-to-body
       :close-on-click-modal="false"
+      class="custom-dialog"
     >
       <el-tabs v-model="activeName1" type="card">
-        <!-- <el-tab-pane label="璁㈠崟娴佹按" name="first">
-          <el-table :data="numberList" style="width: 100%">
-            <el-table-column prop="proName" label="椤圭洰/鑰楁潗" width="300">
-            </el-table-column>
-            <el-table-column prop="price" label="鍗曚环" width="300">
-            </el-table-column>
-            <el-table-column prop="count" label="鏁伴噺" width="300">
-            </el-table-column>
-          </el-table>
-          <el-table :data="bill" style="width: 100%">
-            <el-table-column prop="copeWith" label="搴斾粯" width="180">
-            </el-table-column>
-            <el-table-column prop="discount" label="鎶樻墸" width="180">
-            </el-table-column>
-            <el-table-column prop="paidIn" label="瀹炰粯" width="180">
-            </el-table-column>
-            <el-table-column prop="payType" label="浠樻鏂瑰紡" width="180">
-              <template slot-scope="scope">
-                <span v-if="scope.row.payType == '0'">鐜伴噾鏀粯</span>
-                <span v-if="scope.row.payType == '1'">鍒峰崱鏀粯</span>
-                <span v-if="scope.row.payType == '2'">鏀粯瀹濇敮浠�</span>
-                <span v-if="scope.row.payType == '3'">寰俊鏀粯</span>
-                <span v-if="scope.row.payType == '4'">浜戦棯浠樻敮浠�</span>
-              </template>
-            </el-table-column>
-            <el-table-column prop="payStasus" label="浠樻鐘舵��" width="180">
-              <template slot-scope="scope">
-                <span v-if="scope.row.payStasus == '0'">鏈粯娆�</span>
-                <span v-if="scope.row.payStasus == '1'">宸蹭粯娆�</span>
-                <span v-if="scope.row.payStasus == '2'">閫�璐�</span>
-                <span v-if="scope.row.payStasus == '3'">棰勪粯娆�</span>
-              </template>
-            </el-table-column>
-          </el-table>
-        </el-tab-pane> -->
         <el-tab-pane label="椤圭洰姹囨��" name="second" style="height: 400px">
-          <el-table :data="huizongList" style="width: 100%" max-height="200">
+          <el-table :data="huizongList" style="width: 100%" max-height="350">
             <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>
+            <el-table-column
+              align="center"
+              prop="parent_pro_name"
+              label="椤圭洰"
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              prop="ks"
+              label="绉戝"
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              prop="price"
+              label="璐圭敤鍚堣"
+            ></el-table-column>
           </el-table>
           <h3>浠樻璇︽儏</h3>
           <el-table :data="bill" style="width: 100%; margin-top: 10px">
-            <el-table-column align="center" prop="copeWith" label="搴斾粯">
-            </el-table-column>
-            <el-table-column align="center" prop="discount" label="鎶樻墸">
-            </el-table-column>
-            <el-table-column align="center" prop="paidIn" label="瀹炰粯">
-            </el-table-column>
+            <el-table-column
+              align="center"
+              prop="copeWith"
+              label="搴斾粯"
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              prop="discount"
+              label="鎶樻墸"
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              prop="paidIn"
+              label="瀹炰粯"
+            ></el-table-column>
           </el-table>
         </el-tab-pane>
-        <el-tab-pane label="鏄庣粏椤圭洰" name="third" style="height: 350px">
+        <el-tab-pane label="鏄庣粏椤圭洰" name="third" style="height: 450px">
+          <!-- 绉婚櫎 overflow-y: auto -->
           <el-table
             :data="infoList"
-            style="width: 100%"
-            max-height="330"
+            style="width: 100"
+            max-height="500"
             :span-method="objectSpanMethod1"
           >
             <el-table-column
@@ -1181,25 +1309,38 @@
               type="index"
               label="搴忓彿"
               width="50"
-            >
-            </el-table-column>
-            <el-table-column align="center" prop="parent_pro_name" label="鐖堕」">
-            </el-table-column>
-            <el-table-column align="center" prop="pro_name" label="瀛愰」">
-            </el-table-column>
-            <el-table-column align="center" prop="danjia" label="鍗曚环">
-            </el-table-column>
-            <el-table-column align="center" prop="num" label="鏁伴噺">
-            </el-table-column>
-            <el-table-column align="center" prop="zongjia" label="鎬讳环">
-            </el-table-column>
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              prop="parent_pro_name"
+              label="鐖堕」"
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              prop="pro_name"
+              label="瀛愰」"
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              prop="danjia"
+              label="鍗曚环"
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              prop="num"
+              label="鏁伴噺"
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              prop="zongjia"
+              label="鎬讳环"
+            ></el-table-column>
             <el-table-column
               align="center"
               prop="time"
               label="寮�鍗曟椂闂�"
               width="180"
-            >
-            </el-table-column>
+            ></el-table-column>
           </el-table>
         </el-tab-pane>
       </el-tabs>
@@ -1406,36 +1547,58 @@
   getOrderList,
   getNewDateList,
   revokeTjOrderByTjNum,
+  huifuyuyuejilu,
   getTransitionInfo,
   getBlproByTjh,
   revokeBlProByBldhAndTjh,
+  getForceChexiao,
 } from "@/api/hosp/order";
 import moment from "moment";
 import { getZhList, getlistByZhId } from "@/api/system/package";
 import { getwater } from "@/api/hosp/customer";
+import { getInfo } from "@/api/login";
 import ViewPdf from "@/components/ViewPdf";
 import {
-  projectGetList,
+  shijianzhou,
   getaddtTransition,
   getProParentIdDxList,
   getProSonDxList,
+  getaddtTransition1,
 } from "@/api/system/tijian";
-import { createLogger } from "vuex";
+import {
+  SubmitCompany,
+  getCompany,
+  queryCompany,
+  addbatch,
+} from "@/api/team/tuanti";
 export default {
   components: {
     ViewPdf,
   },
-  dicts: ["dict_pay_type"],
+  dicts: ["dict_pay_type", "dict_team", "reservation_pay_type"],
   name: "Order",
   data() {
     return {
+      ztList: [
+        { name: "鏈", id: 0 },
+        { name: "鍦ㄦ", id: 1 },
+        { name: "宸插畬鎴�", id: 2 },
+        { name: "宸插鏍�", id: 3 },
+        { name: "鐢熸垚鎶ュ憡", id: 4 },
+        { name: "鎶ュ憡鏍告敹", id: 5 },
+        { name: "宸插嚭鎶ュ憡", id: 6 },
+      ],
       DataList3: [],
       bldhid: "",
       budadaozhen: false,
+      isLoading: false,
+      isSubmit: false,
+      isSubmit1: false,
       huizongList: [],
       DataLists: [],
       infoList: [],
       bldhs: [],
+      CompanyList: [],
       filterage: "",
       activeName1: "second",
       filterText: "",
@@ -1458,6 +1621,7 @@
       packagedataList: [],
       cusId: "",
       payType: "0",
+      jsType: "0",
       packageList: [],
       checkedkeys: [],
       dialogVisible: false,
@@ -1483,6 +1647,7 @@
       TreedataList: [],
       discount: 10,
       DataList: [],
+      shijianlist: [],
       // 濂楅鎻愪氦鎸夐挳
       confirm: false,
       list1: true,
@@ -1493,6 +1658,7 @@
       TotalPrice7: 0,
       numberList: [],
       dialogVisible: false,
+      CheckBox: {},
       // 閬僵灞�
       loading: true,
       // 閫変腑鏁扮粍
@@ -1503,6 +1669,7 @@
       activeNames: "first",
       // 闈炲涓鐢�
       multiple: true,
+      tjNUms: [],
       // 鏄剧ず鎼滅储鏉′欢
       showSearch: true,
       userId: "",
@@ -1529,6 +1696,8 @@
         bgbeginTime: null,
         bgendTime: null,
         xmmc: null,
+        tjCompName: "",
+        dw: null,
       },
       startTime: "",
       startTime1: "",
@@ -1571,6 +1740,7 @@
       },
     };
   },
+
   watch: {
     filterText(val) {
       this.$refs.tree.filter(val);
@@ -1590,6 +1760,39 @@
     });
   },
   methods: {
+    findNameByTjnum(tjnum) {
+      const order = this.orderList.find(
+        (orderItem) => orderItem.tjNumber === tjnum
+      );
+      return order ? order.tjCustomerName : "鏈壘鍒�"; // 濡傛灉鎵句笉鍒板搴旂殑椤癸紝杩斿洖涓�涓粯璁ゅ��
+    },
+    // 鎼滅储
+    getRemoteData(query) {
+      if (query) {
+        let compName = query;
+        queryCompany(compName).then((response) => {
+          this.CompanyList = response.data;
+          this.CompanyList.forEach((item) => {
+            this.queryParams = item;
+          });
+        });
+      }
+    },
+    // 閫夋鏁版嵁
+    searchSelect(val) {
+      this.CheckBox = val;
+      this.queryParams.dw = this.CheckBox.cnName;
+      console.log(this.CheckBox, 9999);
+    },
+    onPayTypeChange() {
+      if (this.payType === "6" && this.form.tjType !== 3) {
+        this.cannotSelectPayType = true;
+        this.$message.warning("璇ヤ粯娆剧被鍨嬪湪姝や綋妫�绫诲瀷涓嬩笉鍏佽閫夋嫨锛�");
+        this.payType = this.dict.type.dict_pay_type[0]?.value || null;
+      } else {
+        this.cannotSelectPayType = false;
+      }
+    },
     getdate() {
       getNewDateList().then((res) => {
         if (res.data) {
@@ -1649,6 +1852,46 @@
     },
     /** 鏌ヨ浣撴璁板綍鍒楄〃 */
     getList() {
+      this.queryParams.compId = this.CheckBox.drugManufacturerId;
+      if (this.startTime) {
+        this.queryParams.djbeginTime = this.startTime[0];
+        this.queryParams.djendTime = this.startTime[1];
+      } else if (this.createTimeList) {
+        this.queryParams.djbeginTime = this.createTimeList[0];
+        this.queryParams.djendTime = this.createTimeList[1];
+      } else if (this.createTimeList == null) {
+        this.queryParams.djbeginTime = null;
+        this.queryParams.djendTime = null;
+      }
+      if (this.startTime1) {
+        this.queryParams.bgbeginTime = this.startTime1[0];
+        this.queryParams.bgendTime = this.startTime1[1];
+      }
+
+      this.loading = true;
+      getOrderList(this.queryParams).then((response) => {
+        this.orderList = response.data.list;
+        if (this.orderList) {
+          this.orderList.forEach((item, index) => {
+            item.newID =
+              (this.queryParams.pageNum - 1) * this.queryParams.pageSize +
+              index +
+              1;
+          });
+        }
+        this.total = response.data.total;
+        this.loading = false;
+      });
+      // 鑾峰彇鍗曚綅淇℃伅闆嗗悎
+      getCompany(this.queryParams).then((response) => {
+        this.CompanyList = response.data;
+
+        this.loading = false;
+      });
+    },
+
+    sub() {
+      this.queryParams.compId = this.CheckBox.drugManufacturerId;
       if (this.startTime) {
         this.queryParams.djbeginTime = this.startTime[0];
         this.queryParams.djendTime = this.startTime[1];
@@ -1696,9 +1939,13 @@
       });
     },
     /** 鐐瑰嚮鏄剧ず瀵兼鍗曟姤琛�*/ //lige    寮�濮�
-    handleReport1(row) {
+    /* handleReport1(row) {
       const tjNumber = this.tjnumbers;
       const viewNum = "792931586196398080";
+      getInfo().then(((res)=>{
+        console.log(res,123);
+        
+      }))
       const params = { viewNum, tjNumber };
       hasReport(tjNumber).then((res) => {
         if (res == 1) {
@@ -1707,17 +1954,50 @@
           this.$message.error("璇ョ敤鎴锋殏鏃犻」鐩紒");
         }
       });
+    }, */
+    handleReport1(row) {
+      const tjNumber = this.tjnumbers;
+      const viewNum = "792931586196398080";
+      // 鍏堣皟鐢� getInfo 鑾峰彇 userId
+      getInfo()
+        .then((res) => {
+          console.log(res, 1111);
+
+          const dqdlr = res.user.userId; // 鑾峰彇 userId
+          console.log("User ID:", dqdlr);
+          const params = { viewNum, tjNumber, dqdlr }; // 灏� userId 鍔犲叆 params
+
+          // 鍐嶈皟鐢� hasReport 妫�鏌ユ姤鍛婄姸鎬�
+          hasReport(tjNumber).then((reportRes) => {
+            if (reportRes === 1) {
+              this.$tab.openPage("瀵艰瘖鍗�", "/report/breDailyReport", params);
+            } else {
+              this.$message.error("璇ョ敤鎴锋殏鏃犻」鐩紒");
+            }
+          });
+        })
+        .catch(() => {
+          this.$message.error("鏃犳硶鑾峰彇鐢ㄦ埛淇℃伅锛�");
+        });
     },
 
-    handleRevoke() {
-      this.$confirm("鎮ㄧ‘璁よ鎾ら攢锛�", "纭淇℃伅", {
-        distinguishCancelAndClose: true,
-        confirmButtonText: "纭",
-        cancelButtonText: "鍙栨秷",
-      })
+    // 寮哄埗鎾ら攢鎸夐挳
+    ForceChexiao() {
+      const tjNum = this.tjnumbers;
+      this.$confirm(
+        "鎮ㄦ槸鍚﹂渶瑕佸己鍒舵挙閿�锛熸挙閿�鍚庤浜哄憳鏈浣撴璁板綍涓嶅彲鎭㈠锛�",
+        "纭淇℃伅",
+        {
+          distinguishCancelAndClose: true,
+          confirmButtonText: "纭",
+          cancelButtonText: "鍙栨秷",
+          customClass: "custom-message-box",
+        }
+      )
+
         .then(() => {
-          revokeTjOrderByTjNum(this.tjnumbers).then((res) => {
-            this.$modal.msgSuccess(res.msg);
+          getForceChexiao(tjNum).then((res) => {
+            this.$modal.msgSuccess("鎾ら攢鎴愬姛");
             this.getList();
           });
         })
@@ -1728,6 +2008,71 @@
               message: "宸插彇娑�",
             });
           }
+        });
+      this.$nextTick(() => {
+        // 纭繚寮规娓叉煋鍚庡簲鐢ㄦ牱寮�
+        const messageBox = document.querySelector(
+          ".custom-message-box .el-message-box__message"
+        );
+        if (messageBox) {
+          messageBox.style.color = "red"; // 閫氳繃 JS 寮哄埗璁剧疆棰滆壊
+        }
+      });
+    },
+
+    ResumeAppointment() {
+      this.isLoading = true;
+      this.$confirm("鎮ㄧ‘璁よ鎭㈠棰勭害锛�", "纭淇℃伅", {
+        distinguishCancelAndClose: true,
+        confirmButtonText: "纭",
+        cancelButtonText: "鍙栨秷",
+      })
+        .then(() => {
+          huifuyuyuejilu(this.tjNUms).then((res) => {
+            this.$modal.msgSuccess("鎭㈠鎴愬姛");
+            // this.isLoading = false;
+            this.getList();
+          });
+        })
+        .catch((action) => {
+          if (action === "cancel") {
+            this.$message({
+              type: "warning",
+              message: "宸插彇娑�",
+            });
+          }
+        })
+        .finally(() => {
+          // 涓嶈鎿嶄綔鎴愬姛杩樻槸澶辫触锛岄兘浼氭墽琛�
+          this.isLoading = false;
+        });
+    },
+
+    handleRevoke() {
+      this.isLoading = true;
+      this.$confirm("鎮ㄧ‘璁よ鎾ら攢锛�", "纭淇℃伅", {
+        distinguishCancelAndClose: true,
+        confirmButtonText: "纭",
+        cancelButtonText: "鍙栨秷",
+      })
+        .then(() => {
+          revokeTjOrderByTjNum(this.tjnumbers).then((res) => {
+            this.$modal.msgSuccess("鎾ら攢鎴愬姛");
+            // this.isLoading = false;
+            this.getList();
+          });
+        })
+        .catch((action) => {
+          if (action === "cancel") {
+            this.$message({
+              type: "warning",
+              message: "宸插彇娑�",
+            });
+          }
+        })
+        .finally(() => {
+          // 涓嶈鎿嶄綔鎴愬姛杩樻槸澶辫触锛岄兘浼氭墽琛�
+          this.isLoading = false;
         });
     },
     /** 鐐瑰嚮鏄剧ず浣撴鎶ュ憡鎶ヨ〃*/
@@ -1811,6 +2156,7 @@
         djendTime: null,
         bgbeginTime: null,
         bgendTime: null,
+        dw: null,
       };
       this.resetForm("form");
     },
@@ -1822,7 +2168,8 @@
     /** 鎼滅储鎸夐挳鎿嶄綔 */
     handleQuery() {
       this.queryParams.pageNum = 1;
-      this.getList();
+      // this.getList();
+      this.sub();
     },
     renderContents(h, { node, data, store }) {
       return (
@@ -1877,10 +2224,24 @@
       this.startTime1 = [];
       this.createTimeList = [];
       this.resetForm("queryForm");
+      this.queryParams = {
+        pageNum: 1,
+        pageSize: 10,
+        djbeginTime: null,
+        djendTime: null,
+        tjNum: null,
+        bgbeginTime: null,
+        bgendTime: null,
+        xmmc: null,
+        tjCompName: "",
+        dw: null,
+      };
       this.handleQuery();
     },
     // 澶氶�夋閫変腑鏁版嵁
     handleSelectionChange(selection) {
+      let tjNUms = selection.map((item) => item.tjNumber);
+      this.tjNUms = selection.map((item) => item.tjNumber);
       selection.forEach((item) => {
         this.orderIds = item.orderId;
         this.tjnumbers = item.tjNumber;
@@ -1892,10 +2253,17 @@
         this.cusSex = item.tjCustomerSex;
         this.form.tjType = parseInt(item.tjType);
       });
+
       this.ids = selection.map((item) => item.orderId);
-      // this.tjNumbers = selection.map((item) => item.tjNumber);
       this.single = selection.length !== 1;
       this.multiple = !selection.length;
+      if (tjNUms.length > 0) {
+        shijianzhou(tjNUms).then((res) => {
+          this.shijianlist = res.data;
+        });
+      } else {
+        this.shijianlist = [];
+      }
     },
     /** 鏂板鎸夐挳鎿嶄綔 */
     // handleAdd() {
@@ -1917,7 +2285,7 @@
         var discount = "";
         response.data.water.forEach((item) => {
           copeWith += item.copeWith;
-          paidIn += item.copeWith;
+          paidIn += item.paidIn;
           discount = item.discount;
         });
         this.bill.push({
@@ -1958,7 +2326,7 @@
         var discount = "";
         response.data.water.forEach((item) => {
           copeWith += item.copeWith;
-          paidIn += item.copeWith;
+          paidIn += item.paidIn;
           discount = item.discount;
         });
         this.bill.push({
@@ -2015,16 +2383,30 @@
       const tjNumber = this.tjnumbers;
       const viewNum = "983185234038140928";
       const jxbz = this.bldhid;
-      const params = { viewNum, tjNumber, jxbz };
-      console.log(params);
-      hasReport(tjNumber).then((res) => {
+      // 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) {
@@ -2032,6 +2414,8 @@
         // this.marryalls = 0;
         // this.Datalists = [];
         this.checkedkeys = [];
+
+        this.DataList3 = [];
         getZhList().then((response) => {
           if (response.data) {
             this.packageList = response.data;
@@ -2040,23 +2424,107 @@
         });
       } else {
         // this.TotalPrice1 = 0;
-        this.checkedkey = [];
+        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) => {
@@ -2070,7 +2538,7 @@
                     this.marryalls += item1.proPrice;
                     // this.TotalPrice1 = this.marryalls;
                     this.TotalPrice1 = 0;
-                    console.log(this.DataList3, 9999999999);
+
                     if (this.DataList3.length != 0) {
                       this.DataList3.forEach((item) => {
                         console.log(item.proPrice);
@@ -2090,12 +2558,12 @@
         });
       } else if (checked.checkedNodes.length == 0) {
       }
-    },
+    }, */
 
     renderContent(h, { node, data, store }) {
       return (
         <span class="custom-tree-node">
-          聽 <span>{node.label}</span>
+          <span>{node.label}</span>
           <span>({data.proPrice}鍏�)</span>
         </span>
       );
@@ -2103,6 +2571,7 @@
 
     // 琛ュ綍椤圭洰
     handleProject(row) {
+      this.payType = "0";
       this.loading = true;
       this.DataList = [];
       this.DataList3 = [];
@@ -2111,6 +2580,12 @@
       this.orderId = row.orderId;
       this.cusId = row.tjCusIdCard;
       this.userId = row.userId;
+      console.log(row, 666);
+      this.$nextTick(() => {
+        this.$refs.tableRef.clearSelection(); // 娓呴櫎鎵�鏈夐�変腑
+        this.$refs.tableRef.toggleRowSelection(row, true); // 閫変腑褰撳墠琛�
+      });
+
       this.customer = {
         cusIdcard: row.tjCusIdCard,
         cusName: row.tjCustomerName,
@@ -2172,6 +2647,7 @@
     },
     // 琛ュ綍椤圭洰
     handleProject1() {
+      this.payType = "0";
       this.loading = true;
       this.DataList = [];
       this.DataList3 = [];
@@ -2195,9 +2671,10 @@
     },
 
     // 鐐瑰嚮鑾峰彇姣忎釜鏍戣妭鐐�
-    handleCurrentChecked(data, checked, checkedNodes) {
+    /*  handleCurrentChecked(data, checked, checkedNodes) {
       this.dataObj = data;
-      if (checked.checkedNodes.length != 0) {
+      this.checkedObj = checked;
+      if (checked == true) {
         this.$refs.tree.setCheckedKeys([data.proId]);
         let proId = data.proId;
         getProSonDxList(proId).then((res) => {
@@ -2206,7 +2683,6 @@
             this.checkedListkey.push(item.proId);
             this.DataList.push(item);
             this.DataList3 = this.DataList.concat(this.Datalists);
-            console.log(this.DataList, 77777);
             this.spliceData();
             this.DataList.forEach((item1) => {
               if (item1.proParentId == data.proId) {
@@ -2217,7 +2693,7 @@
           this.TotalPrice1 = 0;
           if (this.DataList3.length != 0) {
             this.DataList3.forEach((item) => {
-              this.TotalPrice1 += item.proPrice;
+              this.TotalPrice1 += item.proPrice * item.sl;
             });
           }
           // this.TotalPrice1 = 0;
@@ -2231,11 +2707,91 @@
           //   }
           // }
         });
-      } else if (checked.checkedNodes.length == 0) {
+      } else if (checked == false) {
         let proId = data.proId;
         getProSonDxList(proId).then((res) => {
           this.TreedataList = res.data.list;
           this.checkedListkey = [];
+          this.TreedataList.forEach((item) => {
+            item.disabled = true;
+          });
+          this.DataList3.forEach((item, index) => {
+            if (item.proParentId == this.dataObj.proId) {
+              this.DataList3.splice(index, this.TreedataList.length);
+            }
+          });
+
+          // 鎵嬪姩鏇存柊鎬讳环鏍�
+          this.TotalPrice1 = 0;
+          this.DataList3.forEach((item, index) => {
+            this.TotalPrice1 += item.proPrice * item.sl;
+          });
+        });
+      }
+    }, */
+    handleCurrentChecked(data, checked, checkedNodes) {
+      this.dataObj = data;
+      this.checkedObj = checked;
+
+      if (checked === true) {
+        // this.$refs.tree.setCheckedKeys([data.proId]);
+        let proId = data.proId;
+        getProSonDxList(proId).then((res) => {
+          this.TreedataList = res.data.list;
+
+          this.TreedataList.forEach((item) => {
+            // item.disabled = true;
+            // this.checkedListkey.push(item.proId);
+            if (!this.checkedListkey.includes(item.proId)) {
+              this.checkedListkey.push(item.proId);
+            }
+            this.Datalists.push(item);
+
+            this.DataList3.push(item);
+
+            this.spliceData();
+            this.DataList3.forEach((item1) => {
+              this.TotalPrice1 += item1.proPrice * item1.sl;
+              if (item1.proParentId == data.proId) {
+                item1.propinName = data.proName;
+                item1.propinPrice = this.dataObj.proPrice;
+              }
+            });
+          });
+
+          // 鏇存柊鎬讳环鏍�
+          this.TotalPrice1 = 0;
+          this.DataList3.forEach((item) => {
+            this.TotalPrice1 += item.proPrice * item.sl;
+          });
+        });
+      } else if (checked === false) {
+        // 褰撳彇娑堥�変腑鏃�
+        let proId = data.proId;
+        getProSonDxList(proId).then((res) => {
+          this.TreedataList = res.data.list;
+
+          // 閬嶅巻 TreedataList 骞剁Щ闄ょ浉鍏崇殑瀛愰」 ID
+          this.TreedataList.forEach((item) => {
+            this.checkedListkey = this.checkedListkey.filter(
+              (id) => id !== item.proId
+            );
+          });
+
+          this.Datalists = this.Datalists.filter(
+            (item) => item.proParentId !== proId
+          );
+
+          // 浠� DataList3 涓Щ闄ょ浉鍏崇殑瀛愰」
+          this.DataList3 = this.DataList3.filter(
+            (item) => item.proParentId !== proId
+          );
+
+          // 鏇存柊鎬讳环鏍�
+          this.TotalPrice1 = 0;
+          this.DataList3.forEach((item) => {
+            this.TotalPrice1 += item.proPrice * item.sl;
+          });
         });
       }
     },
@@ -2270,7 +2826,6 @@
         });
       } else if (checked == true) {
         this.DataList.push(data);
-        console.log(this.DataList, 6666);
         this.DataList.forEach((item1) => {
           if (item1.proParentId == this.dataObj.proId) {
             item1.propinName = this.dataObj.proName;
@@ -2279,6 +2834,9 @@
         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) {
@@ -2318,9 +2876,9 @@
         }
       });
       this.TotalPrice1 = 0;
-      this.DataList3.forEach(item=>{
+      this.DataList3.forEach((item) => {
         this.TotalPrice1 += item.proPrice;
-      })
+      });
     },
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
     handleDelete(row) {
@@ -2405,6 +2963,7 @@
     // 鏀惰垂鎸夐挳
     submitPrice() {
       this.proIds = [];
+      this.isSubmit = true;
       if (this.DataList.length != 0) {
         this.DataList.forEach((item) => {
           this.proIds.push(item.proId);
@@ -2422,9 +2981,9 @@
       getaddtTransition(data).then((response) => {
         if (response.code === 200) {
           this.DataList = [];
-      this.DataList3 = [];
-      this.DataLists = [];
-      this.TotalPrice1 = 0;
+          this.DataList3 = [];
+          this.DataLists = [];
+          this.TotalPrice1 = 0;
           let tjType = this.form.tjType;
           let copeWith = this.TotalPrice1;
           let paidIn = copeWith * (this.discount / 10);
@@ -2440,6 +2999,7 @@
             payType: this.payType,
           };
           getwater(data).then((res) => {
+            this.isSubmit = false;
             this.$modal.msgSuccess("鎻愪氦鎴愬姛");
             this.mobanId = res.data.mobanId;
             this.waterId = res.data.waterId;
@@ -2455,6 +3015,7 @@
     // 鏀惰垂鎸夐挳
     submitPrice1() {
       this.proIds = [];
+      this.isSubmit1 = true;
       if (this.DataList.length != 0) {
         this.DataList.forEach((item) => {
           this.proIds.push(item.proId);
@@ -2469,7 +3030,9 @@
         cusId: this.cusIds,
         proIds: this.proIds,
       };
-      getaddtTransition(data).then((response) => {
+      getaddtTransition1(data).then((response) => {
+        console.log(123456789);
+
         if (response.code === 200) {
           // this.DataList3 = [];
           //   this.DataList = [];
@@ -2484,10 +3047,12 @@
             discount,
             copeWith,
             tjType,
+            payStasus: this.jsType,
             orderId: this.orderIds,
             tjProIds: this.proIds,
             payType: this.payType,
           };
+
           getwater(data).then((res) => {
             this.$modal.msgSuccess("鎻愪氦鎴愬姛");
             this.mobanId = res.data.mobanId;
@@ -2497,14 +3062,18 @@
             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) => {
@@ -2559,7 +3128,27 @@
   },
 };
 </script>
-<style lang="scss">
+<style lang="scss" scoped>
+.custom-dialog {
+  /* 鑷畾涔夊脊鍑烘鐨勬渶灏忛珮搴� */
+  min-height: 600px; /* 浠庨粯璁ら珮搴﹀鍔犲埌 600px锛屽彲浠ユ牴鎹渶瑕佽皟鏁� */
+}
+
+/* 璋冩暣 el-tabs 鐨勫唴瀹瑰尯鍩熼珮搴� */
+::v-deep .el-tabs__content {
+  min-height: 500px; /* 纭繚閫夐」鍗″唴瀹瑰尯鍩熸湁瓒冲楂樺害 */
+}
+
+/* 璋冩暣瀵硅瘽妗嗙殑涓讳綋閮ㄥ垎 */
+::v-deep .el-dialog__body {
+  padding: 20px;
+}
+
+/* 鍙�夛細璋冩暣 footer 鐨勬牱寮� */
+.dialog-footer {
+  padding: 10px 20px;
+  text-align: right;
+}
 .pag {
   width: 100%;
   display: flex;
@@ -2610,7 +3199,15 @@
 // .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;
@@ -2620,6 +3217,7 @@
   width: 500px;
   display: flex;
   // margin-top: 12px;
+  // margin-right: 40%;
 }
 
 .tab3 {
@@ -2646,13 +3244,24 @@
   margin-top: 10px;
 }
 .box {
-  
   display: flex;
   justify-content: space-between;
 }
-.box1{
+.box1 {
   width: 50%;
   display: flex;
   flex-direction: column;
 }
+
+::v-deep .el-step__title.is-process {
+  color: rgb(24, 144, 255);
+}
+::v-deep .el-step__head.is-process {
+  color: rgb(24, 144, 255);
+  border-color: rgb(24, 144, 255);
+}
+.shijian {
+  display: flex;
+  align-items: flex-start;
+}
 </style>

--
Gitblit v1.8.0