diff --git a/apps/web-antd/public/img/empty.png b/apps/web-antd/public/img/empty.png new file mode 100644 index 00000000..d178cc9b Binary files /dev/null and b/apps/web-antd/public/img/empty.png differ diff --git a/apps/web-antd/src/api/request.ts b/apps/web-antd/src/api/request.ts index f8ae816a..672bb4e9 100644 --- a/apps/web-antd/src/api/request.ts +++ b/apps/web-antd/src/api/request.ts @@ -175,7 +175,7 @@ function getRes(obj: any, isDecode = true) { if (arr.has(key)) { let aseFile = ''; aseFile = isDecode - ? customBase64Decode(obj[key]) + ? customBase64Decode(obj[key], key) : customBase64Encode(obj[key]); const isGarbled = // eslint-disable-next-line no-control-regex @@ -232,8 +232,9 @@ function getRes(obj: any, isDecode = true) { /** * 解密 * @param data + * @param key */ -function customBase64Decode(data: string) { +function customBase64Decode(data: string, key = '') { // return data try { // 第一次Base64解码 @@ -244,7 +245,10 @@ function customBase64Decode(data: string) { const base64 = Base64.decode(subStr); return base64.length > 0 ? base64 : data; } catch (error) { - console.error(`解码Base64字符串【${data}】时发生错误`, error); + console.error( + `解码Base64字符串【${data}】时发生错误,KEY:【${key}】`, + error, + ); return data; } } diff --git a/apps/web-antd/src/components/modal/ImagePreview.vue b/apps/web-antd/src/components/modal/ImagePreview.vue new file mode 100644 index 00000000..150a2bdc --- /dev/null +++ b/apps/web-antd/src/components/modal/ImagePreview.vue @@ -0,0 +1,34 @@ + + diff --git a/apps/web-antd/src/components/modal/QrCodePreview.vue b/apps/web-antd/src/components/modal/QrCodePreview.vue new file mode 100644 index 00000000..829de06d --- /dev/null +++ b/apps/web-antd/src/components/modal/QrCodePreview.vue @@ -0,0 +1,135 @@ + + + diff --git a/apps/web-antd/src/views/business/order/product-order/components/detail.vue b/apps/web-antd/src/views/business/order/product-order/components/detail.vue index 0b3e0b65..b5227750 100644 --- a/apps/web-antd/src/views/business/order/product-order/components/detail.vue +++ b/apps/web-antd/src/views/business/order/product-order/components/detail.vue @@ -160,11 +160,11 @@ function getColor(status: any) {
- + /img/empty.png

{{ item.drug_name }}

-

规格: {{ item.drug.specification }}

+

规格: {{ item.drug.specification || 'g' }}

数量: {{ item.number }}

单价: {{ item.price }} 元

diff --git a/apps/web-antd/src/views/business/order/product-order/config/table.ts b/apps/web-antd/src/views/business/order/product-order/config/table.ts index b6f0ac7c..5ce9755e 100644 --- a/apps/web-antd/src/views/business/order/product-order/config/table.ts +++ b/apps/web-antd/src/views/business/order/product-order/config/table.ts @@ -43,6 +43,7 @@ export const gridOptions: VxeGridProps = { slots: { default: 'delivery-method' }, }, { field: 'items_price', title: '总价' }, + { field: 'is_sync_erp', title: 'Erp状态', slots: { default: 'is-sync-erp' } }, { field: 'pay_time', title: '支付时间', slots: { default: 'pay-time' } }, { field: 'created_at', title: '下单时间' }, { diff --git a/apps/web-antd/src/views/business/order/product-order/index.vue b/apps/web-antd/src/views/business/order/product-order/index.vue index f7aa3897..74e56d82 100644 --- a/apps/web-antd/src/views/business/order/product-order/index.vue +++ b/apps/web-antd/src/views/business/order/product-order/index.vue @@ -14,6 +14,7 @@ import FormModalDemo from './components/modal.vue'; import DetailModal from './components/detail.vue'; import { formOptions } from './config/search'; import { gridOptions } from './config/table'; +import PrescrtionDetail from "#/views/doctor/doctor-reception/components/PrescrtionDetail.vue"; const hasTopTableDropDownActions = ref(false); @@ -80,12 +81,25 @@ const expandAll = () => { const collapseAll = () => { gridApi.grid?.setAllRowExpand(false); }; + + +const [PrescrtionDetailModal, PrescrtionDetailModalApi] = useVbenModal({ + connectedComponent: PrescrtionDetail, +}); +const openPrescriptionDetail = (values) => { + // 打开西药处方模态框逻辑 + PrescrtionDetailModalApi.setData({ + values, + }); + PrescrtionDetailModalApi.open(); +};