From 5231542d739f6c5a3c895e02382b61afa071e22d Mon Sep 17 00:00:00 2001 From: zoujiandong <10130823232@qq.com> Date: Mon, 7 Sep 2026 10:37:32 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8D=AF=E6=88=BF=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/basic/pharmacy.js | 92 ++++ .../pharmacy/components/pharmacyModal.vue | 416 +++++++++++++++ src/views/basic/pharmacy/index.vue | 495 ++++++++++++++++++ 3 files changed, 1003 insertions(+) create mode 100644 src/api/basic/pharmacy.js create mode 100644 src/views/basic/pharmacy/components/pharmacyModal.vue create mode 100644 src/views/basic/pharmacy/index.vue diff --git a/src/api/basic/pharmacy.js b/src/api/basic/pharmacy.js new file mode 100644 index 0000000..798871e --- /dev/null +++ b/src/api/basic/pharmacy.js @@ -0,0 +1,92 @@ +import request from '@/utils/request'; + +/** + * 获取药房分页列表 + * @param {Object} data - 查询参数及分页参数 + * @returns {Promise} + */ +export function getPharmacyPage(data) { + return request({ + url: '/admin/basic/pharmacy/page', + method: 'post', + data, + }); +} + +/** + * 获取药房列表(下拉选择框) + * @param {Object} params - 过滤条件 + * @returns {Promise} + */ +export function getPharmacyList(params) { + return request({ + url: '/admin/basic/pharmacy/list', + method: 'get', + params, + }); +} + +/** + * 获取药房详情 + * @param {String} pharmacy_id - 药房 ID + * @returns {Promise} + */ +export function getPharmacyDetail(pharmacy_id) { + return request({ + url: `/admin/basic/pharmacy/${pharmacy_id}`, + method: 'get', + }); +} + +/** + * 新增药房 + * @param {Object} data - 药房实体参数 + * @returns {Promise} + */ +export function addPharmacy(data) { + return request({ + url: '/admin/basic/pharmacy', + method: 'post', + data, + }); +} + +/** + * 修改药房 + * @param {String} pharmacy_id - 药房 ID + * @param {Object} data - 药房实体参数 + * @returns {Promise} + */ +export function updatePharmacy(pharmacy_id, data) { + return request({ + url: `/admin/basic/pharmacy/${pharmacy_id}`, + method: 'put', + data, + }); +} + +/** + * 切换药房状态(快捷开关) + * @param {String} pharmacy_id - 药房 ID + * @param {Number} status - 0: 禁用, 1: 正常 + * @returns {Promise} + */ +export function updatePharmacyStatus(pharmacy_id, status) { + return request({ + url: `/admin/basic/pharmacy/status/${pharmacy_id}`, + method: 'put', + data: { status }, + }); +} + +/** + * 删除药房(软删除) + * @param {String} pharmacy_id - 药房 ID + * @returns {Promise} + */ +export function deletePharmacy(pharmacy_id) { + return request({ + url: `/admin/basic/pharmacy/${pharmacy_id}`, + method: 'delete', + }); +} diff --git a/src/views/basic/pharmacy/components/pharmacyModal.vue b/src/views/basic/pharmacy/components/pharmacyModal.vue new file mode 100644 index 0000000..a884581 --- /dev/null +++ b/src/views/basic/pharmacy/components/pharmacyModal.vue @@ -0,0 +1,416 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 支持 + 不支持 + + + + + + + 正常 + 禁用 + + + + + + + + + + + + + + + + + + + + {{ item.area_name }} + + + + + + {{ item.area_name }} + + + + + + {{ item.area_name }} + + + + + + + + + + + + + + + + + + + + + diff --git a/src/views/basic/pharmacy/index.vue b/src/views/basic/pharmacy/index.vue new file mode 100644 index 0000000..071f2c4 --- /dev/null +++ b/src/views/basic/pharmacy/index.vue @@ -0,0 +1,495 @@ + + + + + + + + + + + + + + + 正常 + 禁用 + + + + + + 支持 + 不支持 + + + + + + + {{ item.area_name }} + + + + + + + + {{ item.area_name }} + + + + + + + + {{ item.area_name }} + + + + + + + + + 搜索 + + + + 重置 + + + + + + + + + + + + + 新增药房 + + + + + + + + + {{ (pager.page - 1) * pager.page_size + rowIndex + 1 }} + + + + + ¥{{ Number(record.postage || 0).toFixed(2) }} + + + + + + ¥{{ Number(record.free_shipping_threshold).toFixed(2) }} + + 不设门槛 + + + + + 支持 + 不支持 + + + + + + + {{ record.full_address || record.address || '-' }} + + + + + + + handleStatusToggle(record, val)" + > + 正常 + 禁用 + + + + + + + + + 详情 + + + + 修改 + + + + + 删除 + + + + + + + + + + + + + +