Browse Source

按西药的非强制 CA 策略优化中草药保存逻辑。

yanqiliang 1 month ago
parent
commit
fa62b090b9
1 changed files with 32 additions and 22 deletions
  1. 32 22
      src/pages/workstation/component/CMOrderSave.jsx

+ 32 - 22
src/pages/workstation/component/CMOrderSave.jsx

@@ -816,32 +816,42 @@ class CMOrderSave extends React.Component {
 				}
 				data.params.push(obj);
 				let that = this;
-				let containerNames = sessionStorage.getItem('CAcontainerName');
-				Promise.resolve(SOFE_SignPKCS7Message(0, containerNames, base64Encode(JSON.stringify(data)))).then(function (res) {
-					if (!res || res === 'null') {
-						message.error('CA签名失败,请确认CA证书已登录后重试', that.state.userData && that.state.userData.messageTime);
-						return;
-					}
-					data.params[0].PKCSData = {
-						"toSign": JSON.stringify(data),
-						"signedData": res
-					};
+				const saveHerbalOrder = () => {
 					$http.post('urlADS', that, {
-					code: '03050054',
-					data: data,
-					success: function (res) {
-						if (+res.errorCode === 0) {
-							// 成功提示
-							message.success("保存成功", this.state.userData && this.state.userData.messageTime);
-							this.getTableData();
-							this.handleResetFields();
-							this.handleRationalUse(); // 合理用药
+						code: '03050054',
+						data: data,
+						success: function (res) {
+							if (+res.errorCode === 0) {
+								// 成功提示
+								message.success("保存成功", this.state.userData && this.state.userData.messageTime);
+								this.getTableData();
+								this.handleResetFields();
+								this.handleRationalUse(); // 合理用药
+							}
 						}
-					}
 					})
+				};
+
+				let containerNames = sessionStorage.getItem('CAcontainerName');
+				// CA 登录为可选项:未登录或签名失败时按无 CA 签名保存,避免阻断中草药处方录入。
+				if (!containerNames) {
+					saveHerbalOrder();
+					return;
+				}
+
+				Promise.resolve(SOFE_SignPKCS7Message(0, containerNames, base64Encode(JSON.stringify(data)))).then(function (res) {
+					if (res && res !== 'null') {
+						data.params[0].PKCSData = {
+							"toSign": JSON.stringify(data),
+							"signedData": res
+						};
+					} else {
+						console.warn('CA签名失败,按无CA签名保存中草药处方');
+					}
+					saveHerbalOrder();
 				}).catch(function (error) {
-					console.error('CA签名失败', error);
-					message.error('CA签名失败,请确认CA证书已登录后重试', that.state.userData && that.state.userData.messageTime);
+					console.error('CA签名失败,按无CA签名保存中草药处方', error);
+					saveHerbalOrder();
 				});
 			}
 		})