Przeglądaj źródła

feat(suit-tech): 适宜技术「不可修改」态仍显示保存按钮(已付费逻辑不变)

AcupointTable 新增 showSaveWhenLocked 开关(默认 false)+isPaidLock/isNonEditableLock
计算属性;保存按钮 v-if 改为 !isLocked || (showSaveWhenLocked && isNonEditableLock)。
仅后端 innerIsEditable==="0"(不可修改)且未付费时显示保存,已付费仍锁定不显示。
Prescribing 传 showSaveWhenLocked=true;SuitableTech/LocalExpertTech 不受影响。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
张田田 22 godzin temu
rodzic
commit
fa0546d735

+ 17 - 1
src/views/business/components/AcupointTable.vue

@@ -507,7 +507,7 @@
           协定方总金额:<span>{{ totalPrice || "0.00" }}元</span>
         </div>
       </div>
-      <div class="t-b-b-right flex-vertical-center-r" v-if="!isLocked">
+      <div class="t-b-b-right flex-vertical-center-r" v-if="!isLocked || (showSaveWhenLocked && isNonEditableLock)">
         <el-button
           type="primary"
           size="mini"
@@ -746,6 +746,11 @@ export default {
       type: Boolean,
       default: false,
     },
+    // 锁定(不可修改)时是否仍显示「保存」按钮(默认 false,保留原行为;仅需要的页面传 true)
+    showSaveWhenLocked: {
+      type: Boolean,
+      default: false,
+    },
   },
   data() {
     return {
@@ -825,6 +830,17 @@ export default {
       }
       return this.useIsUpdateLock && this.innerIsEditable === "0";
     },
+    // 已付费锁定(与 isLocked 付费分支一致;独立抽出供按钮显隐判断,不改动 isLocked)
+    isPaidLock() {
+      const currentData = this.prescriptionDataMap[this.activeIndex];
+      const paystate = currentData?.paystate ?? this.paystate;
+      const isPay = currentData?.isPay ?? this.isPay;
+      return !!(isPay || paystate == 1);
+    },
+    // 仅因「不可修改」(后端 innerIsEditable==="0") 锁定、且未付费
+    isNonEditableLock() {
+      return this.useIsUpdateLock && this.innerIsEditable === "0" && !this.isPaidLock;
+    },
     activeDetailTypes() {
       const validTypes = ["经络", "穴位", "耳穴", "部位", "其他详情"];
       return validTypes.filter((t) => this.innerDetailTypes.includes(t));

+ 1 - 0
src/views/diagnosis/Prescribing.vue

@@ -483,6 +483,7 @@
           :showEntrust="true"
           :showAgreementTotal="false"
           :useIsUpdateLock="true"
+          :showSaveWhenLocked="true"
           :requiredTreatFields="true"
           :report-add-recipe="true"
           @save="submitRecipe1()"