From 53b7cfd8589201ec728c68a08b4ea07d94e66258 Mon Sep 17 00:00:00 2001
From: qinxianzhangyao <11053546+qinxianzhangyao@user.noreply.gitee.com>
Date: 星期一, 08 七月 2024 17:16:48 +0800
Subject: [PATCH] qxtj

---
 src/views/hosp/order/index.vue | 1151 ++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 840 insertions(+), 311 deletions(-)

diff --git a/src/views/hosp/order/index.vue b/src/views/hosp/order/index.vue
index 8aabe19..cf5ca05 100644
--- a/src/views/hosp/order/index.vue
+++ b/src/views/hosp/order/index.vue
@@ -96,6 +96,16 @@
           >瀵煎嚭</el-button
         >
       </el-col>
+
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          size="mini"
+          @click="handleRevoke"
+          :disabled="single"
+          >鎾ら攢绛惧埌</el-button
+        >
+      </el-col>
       <el-col :span="1.5">
         <el-button
           type="primary"
@@ -106,6 +116,17 @@
           >琛ュ綍椤圭洰</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"
@@ -159,7 +180,15 @@
           align="center"
           prop="tjCustomerName"
           fixed="left"
-          width="100px"
+          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
@@ -208,11 +237,19 @@
           :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="tjSerialNumber" /> -->
         <el-table-column
           label="鎵�閫夊椁�"
           align="center"
           prop="pacName"
+          :formatter="driver"
           :show-overflow-tooltip="true"
         />
         <el-table-column
@@ -412,7 +449,7 @@
     <el-dialog
       :title="title"
       :visible.sync="Projectopen"
-      width="1200px"
+      width="1100px"
       style="height: 860px"
       append-to-body
     >
@@ -426,140 +463,158 @@
           <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" v-model="filterText">
           </el-input>
           <div class="tab3">
-            <div class="outside1">
-              <el-tree
-                v-loading="loading"
-                :data="Treedata"
-                show-checkbox
-                node-key="proId"
-                :props="defaultProps"
-                @check-change="handleCurrentChecked"
-                :filter-node-method="filterNode"
-                ref="tree"
+            <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"
               >
-              </el-tree>
+                <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>
-        <div>
-          <el-col :span="18">
-            <div class="grid-content bg-purple">
-              <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 style="text-align: center; margin-bottom: 10px">
-                宸查�夐」鐩垪琛�
-              </div>
-              <div
-                style="
-                  padding: 0px 6px;
-                  border: 1px solid #e6ebf5;
-                  max-height: 420px;
-                  overflow: auto;
-                "
-              >
-                <el-collapse v-model="activeName" accordion>
-                  <div v-for="(item, index) in DataList" :key="index">
-                    <el-collapse-item>
-                      <template slot="title">
-                        {{ item.proName + "(" + "鍘熶环" + item.proPrice + ")" }}
-                      </template>
-                      <el-table
-                        :data="item.tjProjectList"
-                        border
-                        style="width: 100%"
-                        height="250"
-                      >
-                        <el-table-column
-                          prop="proName"
-                          label="椤圭洰"
-                          width="180"
-                        >
-                        </el-table-column>
-                        <el-table-column prop="proPrice" label="鍘熶环">
-                        </el-table-column>
-                      </el-table>
-                    </el-collapse-item>
-                  </div>
-                </el-collapse>
-                <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>
-              </div>
-            </div>
-          </el-col>
-        </div>
       </el-row>
     </el-dialog>
 
@@ -567,12 +622,12 @@
     <el-dialog
       :title="title"
       :visible.sync="Projectopen1"
-      width="1200px"
+      width="1100px"
       style="height: 860px"
       append-to-body
     >
       <el-row type="flex" class="row-bg" justify="space-around">
-        <el-col :span="8">
+        <el-col :span="6">
           <div
             style="text-align: center; margin-bottom: 10px; margin-top: 10px"
           >
@@ -581,25 +636,105 @@
           <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">
             <div class="outside1">
               <el-tree
                 class="filter-tree"
                 v-loading="loading"
-                :data="Treedata"
-                show-checkbox
+                :data="TreedataList"
                 node-key="proId"
                 :props="defaultProps"
-                @check-change="handleCurrentChecked"
                 :filter-node-method="filterNode"
-                ref="tree"
+                show-checkbox
+                @check-change="handleCurrentChecked1"
+                :default-checked-keys="checkedListkey"
+                :render-content="renderContent"
               >
               </el-tree>
             </div>
           </div>
         </el-col>
-
-        <el-col :span="15">
+        <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>
+
             <template>
               <el-form :model="form">
                 <el-form-item label="浣撴绫诲瀷" prop="tjType">
@@ -656,54 +791,10 @@
                     @click="submitPrice1"
                     :disabled="confirm"
                     style="margin-top: 34px"
-                    >鏀惰垂</el-button
+                    >鎻愪氦</el-button
                   >
                 </el-form-item>
               </el-form>
-            </div>
-            <div style="text-align: center; margin-bottom: 10px">
-              宸查�夐」鐩垪琛�
-            </div>
-            <div
-              style="
-                padding: 0px 6px;
-                border: 1px solid #e6ebf5;
-                max-height: 420px;
-                overflow: auto;
-              "
-            >
-              <el-collapse v-model="activeName" accordion>
-                <div v-for="(item, index) in DataList" :key="index">
-                  <el-collapse-item>
-                    <template slot="title">
-                      {{ item.proName + "(" + "鍘熶环" + item.proPrice + ")" }}
-                    </template>
-                    <el-table
-                      :data="item.tjProjectList"
-                      border
-                      style="width: 100%"
-                      height="250"
-                    >
-                      <el-table-column prop="proName" label="椤圭洰" width="180">
-                      </el-table-column>
-                      <el-table-column prop="proPrice" label="鍘熶环">
-                      </el-table-column>
-                    </el-table>
-                  </el-collapse-item>
-                </div>
-              </el-collapse>
-              <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>
             </div>
           </div>
         </el-col>
@@ -711,42 +802,193 @@
     </el-dialog>
 
     <!-- 娣诲姞鎴栦慨鏀逛綋妫�璁板綍瀵硅瘽妗� -->
-    <el-dialog :title="title" :visible.sync="open" width="950px" append-to-body>
-      <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-dialog :title="title" :visible.sync="open" width="950px" append-to-body >
+      <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"
+              prop="newID"
+              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>
+          <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"
+              prop="newID"
+              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
+    >
+      <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>
   </div>
@@ -759,11 +1001,19 @@
   getPdf,
   getOrderList,
   getNewDateList,
+  revokeTjOrderByTjNum,
+  getTransitionInfo,
+  getBlproByTjh,revokeBlProByBldhAndTjh
 } from "@/api/hosp/order";
 import moment from "moment";
 import { getwater } from "@/api/hosp/customer";
 import ViewPdf from "@/components/ViewPdf";
-import { projectGetList, getaddtTransition } from "@/api/system/tijian";
+import {
+  projectGetList,
+  getaddtTransition,
+  getProParentIdDxList,
+  getProSonDxList,
+} from "@/api/system/tijian";
 export default {
   components: {
     ViewPdf,
@@ -772,9 +1022,16 @@
   name: "Order",
   data() {
     return {
+      huizongList: [],
+      DataLists:[],
+      infoList: [],
+      bldhs:[],
+      activeName1: "second",
       filterText: "",
       orderIds: "",
       tjnumbers: "",
+      Projectssopen: false,
+      title1: "",
       cusIds: "",
       userIds: "",
       cusIdcard: "",
@@ -792,12 +1049,16 @@
       src: "",
       url: "",
       flag: true,
-      bill: null,
+      bill: [],
       Treedata: [],
+      DataListss:[],
+      checkedkey: [],
+      checkedListkey: [],
       defaultProps: {
-        children: "tjProjectList",
+        children: [],
         label: "proName",
       },
+      TreedataList: [],
       discount: 10,
       DataList: [],
       // 濂楅鎻愪氦鎸夐挳
@@ -812,6 +1073,7 @@
       loading: true,
       // 閫変腑鏁扮粍
       ids: [],
+      dataObj: {},
       // 闈炲崟涓鐢�
       single: true,
       // 闈炲涓鐢�
@@ -888,7 +1150,7 @@
   },
   created() {
     // this.getNowTime();
-   
+
     this.getdate();
   },
   mounted() {
@@ -899,19 +1161,23 @@
   methods: {
     getdate() {
       getNewDateList().then((res) => {
-        if(res.data){
+        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")
+            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;
+      // 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() {
@@ -955,9 +1221,12 @@
       if (this.startTime) {
         this.queryParams.djbeginTime = this.startTime[0];
         this.queryParams.djendTime = this.startTime[1];
-      }else{
-         this.queryParams.djbeginTime = this.createTimeList[0];
+      } 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];
@@ -978,6 +1247,9 @@
         this.total = response.data.total;
         this.loading = false;
       });
+    },
+    driver(row) {
+      return row.pacName == null ? "鏅�氫綋妫�" : row.pacName;
     },
     /** 鐐瑰嚮鏄剧ず瀵兼鍗曟姤琛�*/ //lige    寮�濮�
     handleReport(row) {
@@ -1004,6 +1276,28 @@
           this.$message.error("璇ョ敤鎴锋殏鏃犻」鐩紒");
         }
       });
+    },
+
+    handleRevoke() {
+      this.$confirm("鎮ㄧ‘璁よ鎾ら攢锛�", "纭淇℃伅", {
+        distinguishCancelAndClose: true,
+        confirmButtonText: "纭",
+        cancelButtonText: "鍙栨秷",
+      })
+        .then(() => {
+          revokeTjOrderByTjNum(this.tjnumbers).then((res) => {
+            this.$modal.msgSuccess(res.msg);
+            this.getList();
+          });
+        })
+        .catch((action) => {
+          if (action === "cancel") {
+            this.$message({
+              type: "warning",
+              message: "宸插彇娑�",
+            });
+          }
+        });
     },
     /** 鐐瑰嚮鏄剧ず浣撴鎶ュ憡鎶ヨ〃*/
     // viewReport(row) {
@@ -1064,7 +1358,6 @@
     },
     // 琛ㄥ崟閲嶇疆
     reset() {
-    
       this.form = {
         orderId: null,
         userId: null,
@@ -1102,9 +1395,9 @@
     },
     /** 閲嶇疆鎸夐挳鎿嶄綔 */
     resetQuery() {
-      this.startTime = []
-      this.startTime1 = []
-      this.createTimeList = []
+      this.startTime = [];
+      this.startTime1 = [];
+      this.createTimeList = [];
       this.resetForm("queryForm");
       this.handleQuery();
     },
@@ -1139,8 +1432,34 @@
       getNumber(tjNumber).then((response) => {
         // this.form = response.data;
         this.numberList = response.data.charging;
-        this.bill = response.data.water;
+        this.bill =[]
+        var copeWith = 0;
+        var paidIn = 0;
+        var discount = ""
+        response.data.water.forEach(item => {
+          copeWith += item.copeWith;
+          paidIn+= item.copeWith;
+          discount= item.discount
+        })
+        this.bill.push({copeWith:copeWith,paidIn:paidIn,discount:discount});
+
         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;
+        });
       });
     },
     /** 璁㈠崟鏄庣粏鎸夐挳 */
@@ -1150,14 +1469,51 @@
       getNumber(tjNumber).then((response) => {
         // this.form = response.data;
         this.numberList = response.data.charging;
-        this.bill = response.data.water;
+        this.bill =[]
+        var copeWith = 0;
+        var paidIn = 0;
+        var discount = ""
+        response.data.water.forEach(item => {
+          copeWith += item.copeWith;
+          paidIn+= item.copeWith;
+          discount= item.discount
+        })
+        this.bill.push({copeWith:copeWith,paidIn:paidIn,discount:discount});
+
+        console.log(this.bill)
         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;
+        });
+      });
+    },
+
+    renderContent(h, { node, data, store }) {
+      return (
+        <span class="custom-tree-node">
+          聽 <span>{node.label}</span>
+          <span>({data.proPrice}鍏�)</span>
+        </span>
+      );
     },
 
     // 琛ュ綍椤圭洰
     handleProject(row) {
       this.loading = true;
+      this.DataList = [];
       this.orderId = row.orderId;
       this.cusId = row.tjCusIdCard;
       this.userId = row.userId;
@@ -1173,16 +1529,55 @@
         this.form.tjType = 0;
       }
       /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */
-      projectGetList().then((response) => {
-        this.Treedata = response.data.list;
-        this.loading = false;
-      });
+      this.getDataList();
       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(row) {
+    handleProject1() {
       this.loading = true;
+      this.DataList = [];
       this.orderId = this.ids;
       this.cusId = this.cusIds;
       this.userId = this.userIds;
@@ -1192,59 +1587,172 @@
         cusPhone: this.cusPhone,
         cusSex: this.cusSex,
       };
-      if (row.tjType) {
-        this.form.tjType = parseInt(row.tjType);
-      } else {
-        this.form.tjType = 0;
-      }
       /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */
-      projectGetList().then((response) => {
-        this.Treedata = response.data.list;
-        this.loading = false;
-      });
+      this.getDataList();
       this.Projectopen1 = true;
       this.title = "琛ュ綍椤圭洰";
     },
+
     // 鐐瑰嚮鑾峰彇姣忎釜鏍戣妭鐐�
     handleCurrentChecked(data, checked, checkedNodes) {
-      if (!data.tjProjectList) {
-        return;
-      }
-      if (checked === true) {
-        this.DataList.push(data);
-      } else {
-        this.DataList.pop(data);
-        this.list1 = true;
-      }
-      // let DataList = selectedobj.checkedNodes
-      // if (DataList.length>0) {
-      //   DataList.forEach(item => {
-      //     if (nodeobj.proId === item.proId) {
-      //       this.DataList = []
-      //       this.DataList.push(item)
-
-      //       this.list1 = false;
-      //     }
-      //   })
-      // }else{
-      //   this.DataList = []
-      //   this.list1 = true;
-      // }
-      this.TotalPrice1 = 0;
-      this.proIds = [];
-      if (this.DataList.length != 0) {
-        this.list1 = false;
-        this.DataList.forEach((item) => {
-          this.TotalPrice1 = item.proPrice + this.TotalPrice1;
-          item.tjProjectList.forEach((item1) => {
-            this.proIds.push(item1.proId);
+      this.dataObj = data;
+      if (checked.checkedNodes.length != 0) {
+        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.spliceData();
+            this.DataList.forEach((item1) => {
+              if (item1.proParentId == data.proId) {
+                item1.propinName = data.proName;
+              }
+            });
           });
+          this.TotalPrice1 = 0;
+          if (this.DataList.length != 0) {
+            this.list1 = false;
+            this.DataList.forEach((item) => {
+              this.TotalPrice1 = item.proPrice + this.TotalPrice1;
+            });
+          }
         });
+      } else if (checked.checkedNodes.length == 0) {
+        let proId = data.proId;
+        getProSonDxList(proId).then((res) => {
+          this.TreedataList = res.data.list;
+          this.checkedListkey = [];
+        });
+      }
+    },
+
+    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;
+            });
+          }
+        });
+      } 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) => {
+          this.TotalPrice1 = item1.proPrice + this.TotalPrice1;
+        });
+      }
+    },
+
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    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;
+          });
+        }
+      });
+    },
+
+    //  // 榛樿鎺ュ彈鍥涗釜鍊� { 褰撳墠琛岀殑鍊�, 褰撳墠鍒楃殑鍊�, 琛岀殑涓嬫爣, 鍒楃殑涓嬫爣 }
+    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 = [];
+      if (this.DataList.length != 0) {
+        this.DataList.forEach((item) => {
+          this.proIds.push(item.proId);
+        });
+      }
       let data = {
         cusId: this.cusId,
         proIds: this.proIds,
@@ -1280,6 +1788,12 @@
     },
     // 鏀惰垂鎸夐挳
     submitPrice1() {
+      this.proIds = [];
+      if (this.DataList.length != 0) {
+        this.DataList.forEach((item) => {
+          this.proIds.push(item.proId);
+        });
+      }
       let data = {
         cusId: this.cusIds,
         proIds: this.proIds,
@@ -1314,36 +1828,50 @@
       });
     },
 
+    handleProjectssChange(selection){
+      this.DataListss =[]
+      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.$refs["form"].validate(valid => {
-    //     if (valid) {
-    //       if (this.form.orderId != null) {
-    //         updateOrder(this.form).then(response => {
-    //           this.$modal.msgSuccess("淇敼鎴愬姛");
-    //           this.open = false;
-    //           this.getList();
-    //         });
-    //       } else {
-    //         addOrder(this.form).then(response => {
-    //           this.$modal.msgSuccess("鏂板鎴愬姛");
-    //           this.open = false;
-    //           this.getList();
-    //         });
-    //       }
-    //     }
-    //   });
-    // },
-    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
-    // handleDelete(row) {
-    //   const orderIds = row.orderId || this.ids;
-    //   this.$modal.confirm('鏄惁纭鍒犻櫎浣撴璁板綍缂栧彿涓�"' + orderIds + '"鐨勬暟鎹」锛�').then(function() {
-    //     return delOrder(orderIds);
-    //   }).then(() => {
-    //     this.getList();
-    //     this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
-    //   }).catch(() => {});
-    // },
+    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(
@@ -1410,7 +1938,7 @@
 // }
 
 .outside {
-  width: 700px;
+  width: 500px;
   display: flex;
   margin-top: 8px;
 }
@@ -1418,10 +1946,11 @@
 .tab3 {
   max-height: 500px;
   overflow-y: auto;
+  border: 1px solid #d9d9d9;
 }
 
 .outside1 {
-  width: 700px;
+  width: 500px;
   display: flex;
   margin-top: 8px;
 }

--
Gitblit v1.8.0