From db8f49a69a6f4e5e91ddc337b7c87d782997c974 Mon Sep 17 00:00:00 2001
From: lkk <364857242@qq.com>
Date: 星期四, 24 十月 2024 09:11:51 +0800
Subject: [PATCH] lkk 10.24

---
 src/views/hosp/order/index.vue |  579 +++++++++++++++++++++++++++++++++------------------------
 1 files changed, 339 insertions(+), 240 deletions(-)

diff --git a/src/views/hosp/order/index.vue b/src/views/hosp/order/index.vue
index 1603b44..a2d0947 100644
--- a/src/views/hosp/order/index.vue
+++ b/src/views/hosp/order/index.vue
@@ -246,8 +246,9 @@
           :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
@@ -581,7 +582,7 @@
                     </el-table-column>
                   </el-table>
 
-                  <h3 style="font-weight: 600">鍚堣锛歿{ marryalls }}鍏�</h3>
+                  <!-- <h3 style="font-weight: 600">鍚堣锛歿{ marryalls }}鍏�</h3> -->
                 </div>
               </el-col>
             </el-row>
@@ -780,17 +781,85 @@
       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
+      <div class="box">
+        <div class="box1">
+          <div
+            style="text-align: center; margin-bottom: 10px; margin-top: 10px"
+          >
+            椤圭洰閫夋嫨
+          </div>
+          <el-tabs
+            type="border-card"
+            style="height: 560px; margin: 0 10px; width: 100%"
+            @tab-click="handleClick"
+            v-model="activeNames"
+          >
+            <el-tab-pane label="缁勫悎" name="first">
+              <div class="tab8">
+                <el-row :gutter="20" style="width: 100%">
+                  <el-col :span="22">
+                    <!-- <div
+                    style="
+                      text-align: center;
+                      margin-bottom: 10px;
+                      margin-top: 10px;
+                    "
+                  >
+                    椤圭洰鍒楄〃
+                  </div> -->
+                    <el-input
+                      placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�"
+                      v-model="filterage"
+                    >
+                    </el-input>
+                    <div class="tab3">
+                      <el-tree
+                        class="filter-tree"
+                        v-loading="loading"
+                        :data="packageList"
+                        :props="defaultProp"
+                        show-checkbox
+                        node-key="id"
+                        @check="handlepackage"
+                        :default-checked-keys="checkedkeys"
+                        :filter-node-method="filterpackage"
+                        ref="treas"
+                        :render-content="renderContents"
+                      >
+                      </el-tree>
+                    </div>
+                  </el-col>
+                  <!-- <el-col :span="11">
+                  <div
+                    style="
+                      text-align: center;
+                      margin-bottom: 10px;
+                      margin-top: 10px;
+                    "
+                  >
+                    鏄庣粏椤圭洰鍒楄〃
+                  </div>
+                  <div class="tab3">
+                    <el-tree
+                      class="filter-tree"
+                      v-loading="loading"
+                      :data="packagedataList"
+                      node-key="proId"
+                      :props="defaultpackProps"
+                      :render-content="renderContent"
+                    >
+                    </el-tree>
+                  </div>
+                </el-col> -->
+                  <!-- <el-col :span="11"> </el-col> -->
+                </el-row>
+              </div>
+            </el-tab-pane>
+            <el-tab-pane label="鍗曢」" name="third">
+              <div class="tab8">
+              <el-row type="flex" class="row-bg" justify="space-around">
+                <el-col :span="22">
+                  <!-- <div
                   style="
                     text-align: center;
                     margin-bottom: 10px;
@@ -798,27 +867,30 @@
                   "
                 >
                   椤圭洰鍒楄〃
-                </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"
+                </div> -->
+                  <el-input
+                    placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�"
+                    v-model="filterText"
                   >
-                  </el-tree>
-                </div>
-              </el-col>
-              <el-col :span="6">
+                  </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="11">
                 <div
                   style="
                     text-align: center;
@@ -829,130 +901,24 @@
                   鏄庣粏椤圭洰鍒楄〃
                 </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 class="outside1">
+                    <el-tree
+                      class="filter-tree"
+                      v-loading="loading"
+                      :data="TreedataList"
+                      node-key="proId"
+                      :props="defaultProps"
+                      :filter-node-method="filterNode"
+                      show-checkbox
+                      @check-change="handleCurrentChecked1"
+                      :default-checked-keys="checkedListkey"
+                      :render-content="renderContent"
+                    >
+                    </el-tree>
                   </div>
-                  <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">
-                <div class="outside1">
-                  <el-tree
-                    class="filter-tree"
-                    v-loading="loading"
-                    :data="TreedataList"
-                    node-key="proId"
-                    :props="defaultProps"
-                    :filter-node-method="filterNode"
-                    show-checkbox
-                    @check-change="handleCurrentChecked1"
-                    :default-checked-keys="checkedListkey"
-                    :render-content="renderContent"
-                  >
-                  </el-tree>
-                </div>
-              </div>
-            </el-col>
-            <el-col :span="11">
+              </el-col> -->
+                <!-- <el-col :span="11">
               <div class="grid-content bg-purple">
                 <div
                   style="
@@ -999,7 +965,7 @@
                       ></el-button>
                     </template>
                   </el-table-column>
-                </el-table>
+                </el-table> -->
                 <!-- <el-collapse v-model="activeName" accordion v-if="list1">
                   <div>
                     <el-collapse-item title="璇烽�夋嫨椤圭洰">
@@ -1022,73 +988,116 @@
                     </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="submitPrice1"
-                        :disabled="confirm"
-                        style="margin-top: 34px"
-                        >鎻愪氦</el-button
-                      >
-                    </el-form-item>
-                  </el-form>
-                </div>
+                <!-- </div>
+            </el-col> -->
+              </el-row>
               </div>
-            </el-col>
-          </el-row>
-        </el-tab-pane>
-      </el-tabs>
+            </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%"
+            height="560"
+            :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>
+      </div>
+
+      <div class="heji">
+        <template>
+          <el-form :model="form" :inline="true">
+            <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="outsides">
+          <el-form :inline="true" class="outside2" label-width="80px">
+            <el-form-item label="鍘熶环" style="display: flex">
+              <el-input
+                placeholder="鍘熶环"
+                :value="TotalPrice1"
+                disabled
+                style="width: 90px"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="鎶樻墸璁惧畾" style="display: flex">
+              <el-input
+                style="width: 90px"
+                type="number"
+                v-model="discount"
+                :value="discount"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="搴斾粯閲戦" style="display: flex">
+              <el-input
+                placeholder="搴斾粯閲戦"
+                :value="TotalPrice1 * (discount / 10)"
+                style="width: 90px"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="浠樻绫诲瀷" prop="payType" style="display: flex">
+              <el-select
+                style="width: 120px"
+                v-model="payType"
+                placeholder="璇烽�夋嫨浠樻绫诲瀷"
+              >
+                <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 style="display: flex">
+              <el-button
+                type="primary"
+                @click="submitPrice1"
+                :disabled="confirm"
+                >鎻愪氦</el-button
+              >
+            </el-form-item>
+          </el-form>
+        </div>
+      </div>
     </el-dialog>
 
     <!-- 娣诲姞鎴栦慨鏀逛綋妫�璁板綍瀵硅瘽妗� -->
@@ -1417,10 +1426,11 @@
   components: {
     ViewPdf,
   },
-  dicts: ["dict_pay_type"],
+  dicts: ["dict_pay_type","dict_team"],
   name: "Order",
   data() {
     return {
+      DataList3: [],
       bldhid: "",
       budadaozhen: false,
       huizongList: [],
@@ -1480,6 +1490,8 @@
       activeName: "1",
       proIds: [],
       TotalPrice1: 0,
+      TotalPrice6: 0,
+      TotalPrice7: 0,
       numberList: [],
       dialogVisible: false,
       // 閬僵灞�
@@ -1976,7 +1988,8 @@
       });
     },
     budadzd() {
-      this.bldhs =[];
+      this.bldhs = [];
+      this.bldhid = "";
       getBlproByTjh(this.tjnumbers).then((res) => {
         if (res.data) {
           this.DataLists = res.data;
@@ -1991,6 +2004,7 @@
       });
     },
     dayin() {
+      // this.bldhs = [];
       console.log(this.bldhs);
       this.bldhid.toString(this.bldhs);
       this.bldhs.forEach((item) => {
@@ -2016,8 +2030,8 @@
 
     handleClick(tab, event) {
       if (this.activeNames == "first") {
-        this.marryalls = 0;
-        this.Datalists = [];
+        // this.marryalls = 0;
+        // this.Datalists = [];
         this.checkedkeys = [];
         getZhList().then((response) => {
           if (response.data) {
@@ -2026,13 +2040,13 @@
           this.loading = false;
         });
       } else {
-        this.TotalPrice1 = 0;
+        // this.TotalPrice1 = 0;
         this.checkedkey = [];
-        this.DataList = [];
+        // this.DataList = [];
         this.getDataList();
-        if (this.marryalls != 0) {
-          this.TotalPrice1 += this.marryalls;
-        }
+        // if (this.marryalls != 0) {
+        //   this.TotalPrice1 += this.marryalls;
+        // }
       }
     },
 
@@ -2050,10 +2064,20 @@
               this.TreedataList = res.data.list;
               this.TreedataList.forEach((item) => {
                 this.Datalists.push(item);
+                this.DataList3 = this.DataList.concat(this.Datalists);
                 if (this.Datalists.length >= 1) {
                   this.marryalls = 0;
                   this.Datalists.forEach((item1) => {
                     this.marryalls += item1.proPrice;
+                    // this.TotalPrice1 = this.marryalls;
+                    this.TotalPrice1 = 0;
+                    console.log(this.DataList3, 9999999999);
+                    if (this.DataList3.length != 0) {
+                      this.DataList3.forEach((item) => {
+                        console.log(item.proPrice);
+                        this.TotalPrice1 += item.proPrice;
+                      });
+                    }
                     this.packagedataList.forEach((item3) => {
                       if (item1.proParentId == item3.proId) {
                         item1.propinName = item3.proName;
@@ -2082,6 +2106,9 @@
     handleProject(row) {
       this.loading = true;
       this.DataList = [];
+      this.DataList3 = [];
+      this.Datalists = [];
+      this.TotalPrice1 = 0;
       this.orderId = row.orderId;
       this.cusId = row.tjCusIdCard;
       this.userId = row.userId;
@@ -2148,6 +2175,9 @@
     handleProject1() {
       this.loading = true;
       this.DataList = [];
+      this.DataList3 = [];
+      this.Datalists = [];
+      this.TotalPrice1 = 0;
       this.orderId = this.ids;
       this.cusId = this.cusIds;
       this.userId = this.userIds;
@@ -2176,6 +2206,8 @@
           this.TreedataList.forEach((item) => {
             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) {
@@ -2184,15 +2216,21 @@
             });
           });
           this.TotalPrice1 = 0;
-          if (this.DataList.length != 0) {
-            this.list1 = false;
-            this.DataList.forEach((item) => {
-              this.TotalPrice1 = item.proPrice + this.TotalPrice1;
+          if (this.DataList3.length != 0) {
+            this.DataList3.forEach((item) => {
+              this.TotalPrice1 += item.proPrice;
             });
-            if (this.marryalls != 0) {
-              this.TotalPrice1 += this.marryalls;
-            }
           }
+          // this.TotalPrice1 = 0;
+          // if (this.DataList.length != 0) {
+          //   this.list1 = false;
+          //   this.DataList.forEach((item) => {
+          //     this.TotalPrice1 = item.proPrice + this.TotalPrice1;
+          //   });
+          //   if (this.marryalls != 0) {
+          //     this.TotalPrice1 += this.marryalls;
+          //   }
+          // }
         });
       } else if (checked.checkedNodes.length == 0) {
         let proId = data.proId;
@@ -2233,6 +2271,7 @@
         });
       } 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;
@@ -2258,6 +2297,31 @@
           });
         }
       });
+      this.DataList3.forEach((item, index) => {
+        if (item.proId == row.proId) {
+          this.DataList3.splice(index, 1);
+          this.marryalls = 0;
+          this.DataList3.forEach((item1) => {
+            this.marryalls += item1.proPrice;
+          });
+        }
+      });
+      this.DataList.forEach((item, index) => {
+        if (item.proId == row.proId) {
+          this.DataList.splice(index, 1);
+          this.TotalPrice1 = 0;
+          this.DataList.forEach((item1) => {
+            this.TotalPrice1 = item1.proPrice + this.TotalPrice1;
+          });
+          if (this.marryalls != 0) {
+            this.TotalPrice1 += this.marryalls;
+          }
+        }
+      });
+      this.TotalPrice1 = 0;
+      this.DataList3.forEach(item=>{
+        this.TotalPrice1 += item.proPrice;
+      })
     },
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
     handleDelete(row) {
@@ -2358,6 +2422,10 @@
       };
       getaddtTransition(data).then((response) => {
         if (response.code === 200) {
+          this.DataList = [];
+      this.DataList3 = [];
+      this.DataLists = [];
+      this.TotalPrice1 = 0;
           let tjType = this.form.tjType;
           let copeWith = this.TotalPrice1;
           let paidIn = copeWith * (this.discount / 10);
@@ -2404,6 +2472,9 @@
       };
       getaddtTransition(data).then((response) => {
         if (response.code === 200) {
+          // this.DataList3 = [];
+          //   this.DataList = [];
+          //   this.DataList3 = [];
           let tjType = this.form.tjType;
           let copeWith = this.TotalPrice1;
           let paidIn = copeWith * (this.discount / 10);
@@ -2434,6 +2505,7 @@
 
     handleProjectssChange(selection) {
       this.DataListss = [];
+      this.selection = [];
       this.bldhs = selection.map((item) => item.bldh);
       selection.forEach((item) => {
         item.projectList.forEach((item1) => {
@@ -2545,9 +2617,14 @@
   display: flex;
   margin-top: 8px;
 }
+.outsides {
+  width: 500px;
+  display: flex;
+  // margin-top: 12px;
+}
 
 .tab3 {
-  max-height: 500px;
+  max-height: 420px;
   overflow-y: auto;
   border: 1px solid #d9d9d9;
 }
@@ -2557,4 +2634,26 @@
   display: flex;
   margin-top: 8px;
 }
+.outside2 {
+  width: 500px;
+  display: flex;
+  margin-top: 8px;
+}
+.heji {
+  display: flex;
+  flex-direction: row;
+  justify-content: flex-start;
+  align-items: center;
+  margin-top: 10px;
+}
+.box {
+  
+  display: flex;
+  justify-content: space-between;
+}
+.box1{
+  width: 50%;
+  display: flex;
+  flex-direction: column;
+}
 </style>

--
Gitblit v1.8.0