cgp пре 4 дана
родитељ
комит
b349a35fd3

+ 21 - 0
src/api/his/scrmPrescribe.js

@@ -0,0 +1,21 @@
+import request from '@/utils/request'
+
+/**
+ * 查询医生待开方处方列表
+ * @param {Object} query 查询参数
+ * @param {number} query.pageNum 页码
+ * @param {number} query.pageSize 每页条数
+ * @param {string} query.patientName 患者姓名
+ * @param {number} query.doctorConfirm 处方状态(0待医生开方 1已开方待审核 -1医生拒方)
+ * @param {number} query.prescribeType 处方类型(1西药 2中药 3中西药结合)
+ * @param {string} query.orderCode 订单编号
+ * @param {string} query.prescribeCode 处方编号
+ * @returns {Promise} 返回Promise对象
+ */
+export function waitOpenPrescribeList(query) {
+  return request({
+    url: '/his/prescribeDataScrm/waitOpenPrescribeList',
+    method: 'get',
+    params: query
+  })
+}

+ 18 - 5
src/router/index.js

@@ -84,14 +84,21 @@ export const constantRoutes = [
   {
     path: '/prescribeAudit',
     component: Layout,
+    meta: { title: '处方审核', icon: 'user', noCache: true, affix: false },
     redirect: 'noredirect',
     children: [
       {
-        path: 'Index',
-        component: (resolve) => require(['@/views/doctor/prescribeAudit/index'], resolve),
-        name: '处方审核',
-        meta: { title: '处方审核', icon: 'form', noCache: true, affix: false }
-      }
+        path: 'prescribeAudit',
+        component: (resolve) => require(['@/views/prescribeAudit/prescribeAudit/index'], resolve),
+        name: '互医处方审核',
+        meta: { title: '互医处方审核', icon: 'form', noCache: true, affix: false }
+      },
+      {
+        path: 'scrmPrescribeAudit',
+        component: (resolve) => require(['@/views/prescribeAudit/scrmPrescribeAudit/index'], resolve),
+        name: '商城处方审核',
+        meta: { title: '商城处方审核', icon: 'form', noCache: true, affix: false }
+      },
     ]
   },
   {
@@ -174,6 +181,12 @@ export const constantRoutes = [
         name: '用户处方',
         meta: { title: '用户处方', icon: 'form', noCache: true, affix: false }
       },
+      {
+        path: 'scrmPrescribe',
+        component: (resolve) => require(['@/views/his/scrmPrescribe/index'], resolve),
+        name: '商城处方',
+        meta: { title: '商城处方', icon: 'form', noCache: true, affix: false }
+      },
       {
         path: 'refuse',
         component: (resolve) => require(['@/views/his/refuse/index'], resolve),

+ 181 - 0
src/views/his/scrmPrescribe/index.vue

@@ -0,0 +1,181 @@
+<!-- 医生商城处方列表页面 -->
+<template>
+  <div class="app-container">
+    <!-- 搜索表单 -->
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="80px">
+      <el-form-item label="患者姓名" prop="patientName">
+        <el-input
+          v-model="queryParams.patientName"
+          placeholder="请输入患者姓名"
+          clearable
+          size="small"
+          style="width: 150px"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="处方状态" prop="doctorConfirm">
+        <el-select v-model="queryParams.doctorConfirm" placeholder="处方状态" clearable size="small">
+          <el-option label="待开方" :value="0" />
+          <el-option label="待审核" :value="1" />
+          <el-option label="已拒方" :value="-1" />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="处方类型" prop="prescribeType">
+        <el-select v-model="queryParams.prescribeType" placeholder="处方类型" clearable size="small">
+          <el-option label="西药" :value="1" />
+          <el-option label="中药" :value="2" />
+          <el-option label="中药+西药" :value="3" />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="订单编号" prop="orderCode">
+        <el-input
+          v-model="queryParams.orderCode"
+          placeholder="请输入订单编号"
+          clearable
+          size="small"
+          style="width: 180px"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="处方编号" prop="prescribeCode">
+        <el-input
+          v-model="queryParams.prescribeCode"
+          placeholder="请输入处方编号"
+          clearable
+          size="small"
+          style="width: 180px"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <!-- 数据表格 -->
+    <el-table v-loading="loading" :data="prescribeList" stripe border>
+      <el-table-column label="处方编号" align="center" prop="prescribeCode" width="180" show-overflow-tooltip />
+      <el-table-column label="订单编号" align="center" prop="orderCode" width="180" show-overflow-tooltip />
+      <el-table-column label="患者姓名" align="center" prop="patientName" width="100" />
+      <el-table-column label="患者年龄" align="center" prop="patientAge" width="80" />
+      <el-table-column label="处方类型" align="center" prop="prescribeType" width="100">
+        <template slot-scope="scope">
+          <dict-tag :options="prescribeTypeOptions" :value="scope.row.prescribeType"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="处方状态" align="center" prop="doctorConfirm" width="120">
+        <template slot-scope="scope">
+          <span v-if="scope.row.doctorConfirm === 0" class="warning">待医生开方</span>
+          <span v-else-if="scope.row.doctorConfirm === 1" class="success">已开方待审核</span>
+          <span v-else-if="scope.row.doctorConfirm === -1" class="danger">医生拒方</span>
+          <span v-else>-</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="中药处方图片" align="center" width="120">
+        <template slot-scope="scope">
+          <el-image
+            v-if="scope.row.prescribeImgUrl"
+            :src="scope.row.prescribeImgUrl"
+            :preview-src-list="[scope.row.prescribeImgUrl]"
+            fit="cover"
+            style="width: 60px; height: 60px; border-radius: 4px; cursor: pointer"
+            :initial-index="0"
+          />
+          <span v-else class="empty-text">无</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="西药处方图片" align="center" width="120">
+        <template slot-scope="scope">
+          <el-image
+            v-if="scope.row.prescribeImgStoreUrl"
+            :src="scope.row.prescribeImgStoreUrl"
+            :preview-src-list="[scope.row.prescribeImgStoreUrl]"
+            fit="cover"
+            style="width: 60px; height: 60px; border-radius: 4px; cursor: pointer"
+          />
+          <span v-else class="empty-text">无</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="创建时间" align="center" prop="createTime" width="160" />
+    </el-table>
+
+    <!-- 分页组件 -->
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+  </div>
+</template>
+
+<script>
+import { waitOpenPrescribeList } from "@/api/his/scrmPrescribe";
+
+export default {
+  name: "PrescribeList",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 处方列表数据
+      prescribeList: [],
+      // 总条数
+      total: 0,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        patientName: null,
+        doctorConfirm: null,
+        prescribeType: null,
+        orderCode: null,
+        prescribeCode: null
+      },
+      // 处方类型字典
+      prescribeTypeOptions: [
+        { dictLabel: "西药", dictValue: 1 },
+        { dictLabel: "中药", dictValue: 2 },
+        { dictLabel: "中药+西药", dictValue: 3 }
+      ]
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询处方列表 */
+    getList() {
+      this.loading = true;
+      waitOpenPrescribeList(this.queryParams).then(response => {
+        this.prescribeList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      }).catch(() => {
+        this.loading = false;
+      });
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    }
+  }
+};
+</script>
+
+<style scoped>
+.warning { color: #e6a23c; }
+.success { color: #67c23a; }
+.danger { color: #f56c6c; }
+.empty-text { color: #909399; font-size: 12px; }
+</style>

+ 0 - 0
src/views/doctor/prescribeAudit/index.vue → src/views/prescribeAudit/prescribeAudit/index.vue


+ 11 - 0
src/views/prescribeAudit/scrmPrescribeAudit/index.vue

@@ -0,0 +1,11 @@
+<script setup>
+
+</script>
+
+<template>
+
+</template>
+
+<style scoped lang="stylus">
+
+</style>