From 288842f04e72d34fca6948ad1891c8460feb9774 Mon Sep 17 00:00:00 2001
From: wwl <xchao828@163.com>
Date: 星期五, 10 一月 2025 17:53:51 +0800
Subject: [PATCH] 倒推

---
 src/views/hosp/order/index.vue |  225 ++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 192 insertions(+), 33 deletions(-)

diff --git a/src/views/hosp/order/index.vue b/src/views/hosp/order/index.vue
index 4c6f0cf..507096f 100644
--- a/src/views/hosp/order/index.vue
+++ b/src/views/hosp/order/index.vue
@@ -141,20 +141,25 @@
         >
       </el-form-item>
     </el-form>
-    <template v-for="(item, index) in shijianlist"  >
-  <div  :key="index" style="margin-bottom: 20px" v-if="shijianlist.length > 0">
-    {{findNameByTjnum(item.tjNUm) }}
-    <el-steps :space="200" :active="item.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>
-</template>
+
+    <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
@@ -225,6 +230,16 @@
           :disabled="single"
           v-hasPermi="['hosp:order:export']"
           >鎵撳嵃琛ュ綍鍗�</el-button
+        >
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          size="mini"
+          @click="ForceChexiao"
+          :disabled="single"
+          v-hasPermi="['qzcx']"
+          >寮哄埗鎾ら攢</el-button
         >
       </el-col>
       <right-toolbar
@@ -826,7 +841,7 @@
                         style="width: 90px"
                       ></el-input>
                     </el-form-item>
-                    <el-form-item label="浠樻绫诲瀷" prop="payType">
+                    <el-form-item label="浠樻绫诲瀷">
                       <el-select
                         style="width: 120px"
                         v-model="payType"
@@ -1123,7 +1138,90 @@
         </div>
       </div>
 
-      <div class="heji">
+      <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" @click="submitPrice1" :disabled="confirm">
+            鎻愪氦
+          </el-button>
+        </el-form-item>
+      </el-form>
+
+      <!-- <div class="heji">
         <div class="o">
           <el-form
             :model="form"
@@ -1178,6 +1276,21 @@
                 ></el-option>
               </el-select>
             </el-form-item>
+            <el-form-item label="缁撶畻鏂瑰紡" prop="payType">
+              <el-select
+                v-model="payType"
+                placeholder="璇烽�夋嫨缁撶畻鏂瑰紡"
+                style="width: 130px"
+                clearable
+              >
+                <el-option
+                  v-for="dict in dict.type.reservation_pay_type"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                />
+              </el-select>
+            </el-form-item>
             <el-form-item style="display: flex">
               <el-button
                 type="primary"
@@ -1188,7 +1301,7 @@
             </el-form-item>
           </el-form>
         </div>
-      </div>
+      </div> -->
     </el-dialog>
 
     <!-- 娣诲姞鎴栦慨鏀逛綋妫�璁板綍瀵硅瘽妗� -->
@@ -1501,6 +1614,7 @@
   getTransitionInfo,
   getBlproByTjh,
   revokeBlProByBldhAndTjh,
+  getForceChexiao,
 } from "@/api/hosp/order";
 import moment from "moment";
 import { getZhList, getlistByZhId } from "@/api/system/package";
@@ -1519,12 +1633,11 @@
   queryCompany,
   addbatch,
 } from "@/api/team/tuanti";
-import { createLogger } from "vuex";
 export default {
   components: {
     ViewPdf,
   },
-  dicts: ["dict_pay_type", "dict_team"],
+  dicts: ["dict_pay_type", "dict_team", "reservation_pay_type"],
   name: "Order",
   data() {
     return {
@@ -1567,6 +1680,7 @@
       packagedataList: [],
       cusId: "",
       payType: "0",
+      jsType: "0",
       packageList: [],
       checkedkeys: [],
       dialogVisible: false,
@@ -1705,9 +1819,11 @@
   },
   methods: {
     findNameByTjnum(tjnum) {
-    const order = this.orderList.find(orderItem => orderItem.tjNumber === tjnum);
-    return order ? order.tjCustomerName : '鏈壘鍒�';  // 濡傛灉鎵句笉鍒板搴旂殑椤癸紝杩斿洖涓�涓粯璁ゅ��
-  },
+      const order = this.orderList.find(
+        (orderItem) => orderItem.tjNumber === tjnum
+      );
+      return order ? order.tjCustomerName : "鏈壘鍒�"; // 濡傛灉鎵句笉鍒板搴旂殑椤癸紝杩斿洖涓�涓粯璁ゅ��
+    },
     // 鎼滅储
     getRemoteData(query) {
       if (query) {
@@ -1924,6 +2040,45 @@
         });
     },
 
+    // 寮哄埗鎾ら攢鎸夐挳
+    ForceChexiao() {
+      const tjNum = this.tjnumbers;
+      this.$confirm(
+        "鎮ㄦ槸鍚﹂渶瑕佸己鍒舵挙閿�锛熸挙閿�鍚庤浜哄憳鏈浣撴璁板綍涓嶅彲鎭㈠锛�",
+        "纭淇℃伅",
+        {
+          distinguishCancelAndClose: true,
+          confirmButtonText: "纭",
+          cancelButtonText: "鍙栨秷",
+          customClass: "custom-message-box",
+        }
+      )
+
+        .then(() => {
+          getForceChexiao(tjNum).then((res) => {
+            this.$modal.msgSuccess("鎾ら攢鎴愬姛");
+            this.getList();
+          });
+        })
+        .catch((action) => {
+          if (action === "cancel") {
+            this.$message({
+              type: "warning",
+              message: "宸插彇娑�",
+            });
+          }
+        });
+      this.$nextTick(() => {
+        // 纭繚寮规娓叉煋鍚庡簲鐢ㄦ牱寮�
+        const messageBox = document.querySelector(
+          ".custom-message-box .el-message-box__message"
+        );
+        if (messageBox) {
+          messageBox.style.color = "red"; // 閫氳繃 JS 寮哄埗璁剧疆棰滆壊
+        }
+      });
+    },
+
     handleRevoke() {
       this.$confirm("鎮ㄧ‘璁よ鎾ら攢锛�", "纭淇℃伅", {
         distinguishCancelAndClose: true,
@@ -2128,13 +2283,11 @@
       this.multiple = !selection.length;
       if (tjNUms.length > 0) {
         shijianzhou(tjNUms).then((res) => {
-        this.shijianlist = res.data
-      });
-      } else{
-        this.shijianlist = []
+          this.shijianlist = res.data;
+        });
+      } else {
+        this.shijianlist = [];
       }
-      
-
     },
     /** 鏂板鎸夐挳鎿嶄綔 */
     // handleAdd() {
@@ -2156,7 +2309,7 @@
         var discount = "";
         response.data.water.forEach((item) => {
           copeWith += item.copeWith;
-          paidIn += item.copeWith;
+          paidIn += item.paidIn;
           discount = item.discount;
         });
         this.bill.push({
@@ -2197,7 +2350,7 @@
         var discount = "";
         response.data.water.forEach((item) => {
           copeWith += item.copeWith;
-          paidIn += item.copeWith;
+          paidIn += item.paidIn;
           discount = item.discount;
         });
         this.bill.push({
@@ -2461,7 +2614,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) {
@@ -2739,6 +2891,7 @@
             discount,
             copeWith,
             tjType,
+            payStasus:this.jsType,
             orderId: this.orderIds,
             tjProIds: this.proIds,
             payType: this.payType,
@@ -2866,6 +3019,12 @@
 // .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;
 }
@@ -2913,6 +3072,7 @@
   display: flex;
   flex-direction: column;
 }
+
 ::v-deep .el-step__title.is-process {
   color: rgb(24, 144, 255);
 }
@@ -2920,9 +3080,8 @@
   color: rgb(24, 144, 255);
   border-color: rgb(24, 144, 255);
 }
-.shijian{
+.shijian {
   display: flex;
   align-items: flex-start;
- 
 }
 </style>

--
Gitblit v1.8.0