Bladeren bron

修改查询

zs 1 jaar geleden
bovenliggende
commit
4c9a8c0278

+ 0 - 41
src/views/acccount/index.vue

@@ -1,41 +0,0 @@
-<template>
-  <div id="index">
-    <el-row>
-      <el-col :span="24" class="main animate__animated animate__backInRight" v-loading="loading">
-        <el-col :span="24" class="one"> 系统首页 </el-col>
-      </el-col>
-    </el-row>
-  </div>
-</template>
-
-<script setup lang="ts">
-// 基础
-import type { Ref } from 'vue';
-import { onMounted, ref } from 'vue';
-
-// 接口
-// import { ToolsStore } from '@/stores/tool';
-// import type { IQueryResult } from '@/util/types.util';
-// const toolsAxios = ToolsStore();
-
-// 加载中
-const loading: Ref<any> = ref(false);
-
-// 请求
-onMounted(async () => {
-  loading.value = true;
-  search();
-  loading.value = false;
-});
-const search = async () => {
-  // let res: IQueryResult = await toolsAxios.dataCount();
-  // if (res.errcode == '0') {
-  //   info.value = res.data;
-  // }
-};
-</script>
-<style scoped lang="scss">
-.main {
-  padding: 2px;
-}
-</style>

+ 42 - 8
src/views/acccount/information/index.vue

@@ -2,8 +2,14 @@
   <div id="detail">
     <el-row>
       <el-col :span="24" class="main animate__animated animate__backInRight" v-loading="loading">
-        <el-col :span="24" class="one">
-          <cForm :span="12" :fields="fields" :form="form" :rules="rules" @save="toSave" label-width="auto">
+        <el-col :span="24" class="one" v-if="user.role != 'Admin'">
+          <el-button type="primary" @click="toCode">微信绑定</el-button>
+        </el-col>
+        <el-col :span="24" class="two">
+          <cForm :span="12" :fields="fields" :form="form" :rules="rules" @save="toSave" label-width="80px">
+            <template #doctor>
+              <el-option v-for="i in doctorList" :key="i._id" :label="i.name" :value="i._id"></el-option>
+            </template>
             <template #icon>
               <cUpload
                 :model="`${'icon'}`"
@@ -49,10 +55,17 @@ let fields: Ref<any[]> = ref([
   { label: '姓名', model: 'name' }
 ]);
 const rules = reactive<FormRules>({
-  name: [{ required: true, message: '请输入姓名', trigger: 'blur' }]
+  account: [{ required: true, message: '请输入账号', trigger: 'blur' }],
+  name: [{ required: true, message: '请输入姓名', trigger: 'blur' }],
+  mobile: [{ required: true, message: '请输入手机号', trigger: 'blur' }],
+  hos_name: [{ required: true, message: '请输入医院名称', trigger: 'blur' }],
+  dept_name: [{ required: true, message: '请输入科室名称', trigger: 'blur' }],
+  title: [{ required: true, message: '请输入职务', trigger: 'blur' }],
+  post: [{ required: true, message: '请输入职称', trigger: 'blur' }]
 });
 // 字典表
 const roleList: Ref<any> = ref([]);
+const doctorList: Ref<any> = ref([]);
 // 请求
 onMounted(async () => {
   loading.value = true;
@@ -68,24 +81,25 @@ const search = async () => {
     else if (user.value.role == 'Doctor') {
       res = await doctorAxios.fetch(id);
       fields.value.push(
-        { label: '头像', model: 'icon', custom: true },
         { label: '手机号', model: 'mobile' },
         { label: '医院名称', model: 'hos_name' },
         { label: '科室名称', model: 'dept_name' },
         { label: '职务', model: 'title' },
         { label: '职称', model: 'post' },
-        { label: '简介', model: 'content' }
+        { label: '简介', model: 'content', type: 'textarea' },
+        { label: '头像', model: 'icon', custom: true }
       );
     } else if (user.value.role == 'Nurse') {
       res = await nurseAxios.fetch(id);
       fields.value.push(
-        { label: '头像', model: 'icon', custom: true },
+        { label: '所属医生', model: 'doctor', type: 'select', options: { disabled: true } },
         { label: '手机号', model: 'mobile' },
         { label: '医院名称', model: 'hos_name' },
         { label: '科室名称', model: 'dept_name' },
         { label: '职务', model: 'title' },
         { label: '职称', model: 'post' },
-        { label: '简介', model: 'content' }
+        { label: '简介', model: 'content', type: 'textarea' },
+        { label: '头像', model: 'icon', custom: true }
       );
     }
     if (res.errcode == '0') form.value = res.data as {};
@@ -95,6 +109,10 @@ const onUpload = (e: { model: string; value: Array<[]> }) => {
   const { model, value } = e;
   form.value[model] = value;
 };
+// 绑定微信
+const toCode = async () => {
+  console.log(user.value);
+};
 // 保存
 const toSave = async (data: any) => {
   let res: IQueryResult;
@@ -111,10 +129,26 @@ const searchOther = async () => {
   // 角色
   res = await roleAxios.query({ is_use: '0' });
   if (res.errcode == '0') roleList.value = res.data;
+  // 医生
+  let user = store.state.user;
+  if (user.role == 'Admin') {
+    res = await doctorAxios.query({});
+    if (res.errcode == '0') doctorList.value = res.data;
+    return;
+  } else if (user.role == 'Doctor') res = await doctorAxios.fetch(user._id);
+  else if (user.role == 'Nurse') res = await doctorAxios.fetch(user.doctor);
+  if (res.errcode == '0') doctorList.value = [res.data];
 };
 // 返回上一页
 const toBack = () => {
   window.history.go(-1);
 };
 </script>
-<style scoped lang="scss"></style>
+<style scoped lang="scss">
+.main {
+  .one {
+    text-align: center;
+    padding: 2vw 0;
+  }
+}
+</style>

+ 10 - 3
src/views/article/index.vue

@@ -131,7 +131,10 @@ onMounted(async () => {
   loading.value = false;
 });
 const search = async (e: { skip: number; limit: number }) => {
+  let user = store.state.user;
   const info = { skip: e.skip, limit: e.limit, ...searchForm.value };
+  if (user.role == 'Doctor') info.doctor = user._id;
+  else if (user.role == 'Nurse') info.doctor = user.doctor;
   const res: IQueryResult = await articleAxios.query(info);
   if (res.errcode == '0') {
     list.value = res.data;
@@ -213,11 +216,15 @@ const handleChange = (row: any) => {
 // 查询其他信息
 const searchOther = async () => {
   let res: IQueryResult;
+  // 医生
   let user = store.state.user;
-  if (user.role == 'Admin') res = await doctorAxios.query({});
-  else if (user.role == 'Doctor') res = await doctorAxios.fetch(user._id);
+  if (user.role == 'Admin') {
+    res = await doctorAxios.query({});
+    if (res.errcode == '0') doctorList.value = res.data;
+    return;
+  } else if (user.role == 'Doctor') res = await doctorAxios.fetch(user._id);
   else if (user.role == 'Nurse') res = await doctorAxios.fetch(user.doctor);
-  if (res.errcode == '0') doctorList.value = res.data;
+  if (res.errcode == '0') doctorList.value = [res.data];
 };
 </script>
 <style scoped lang="scss">

+ 4 - 1
src/views/doctor/index.vue

@@ -23,7 +23,10 @@
                 :limit="1"
                 listType="picture-card"
                 url="/visit/api/files/doctor/upload"
-                accept="*" :list="form.icon" @change="onUpload"></cUpload>
+                accept="*"
+                :list="form.icon"
+                @change="onUpload"
+              ></cUpload>
             </template>
           </cForm>
         </el-col>

+ 11 - 4
src/views/group/index.vue

@@ -63,7 +63,7 @@ let opera: Ref<any[]> = ref([
   { label: '删除', method: 'del', confirm: true, type: 'danger' }
 ]);
 // 字典表
-let doctorList: Ref<any> = ref([]);
+const doctorList: Ref<any> = ref([]);
 // 查询数据
 let searchForm: Ref<any> = ref({});
 // 弹框
@@ -86,7 +86,10 @@ onMounted(async () => {
   loading.value = false;
 });
 const search = async (e: { skip: number; limit: number }) => {
+  let user = store.state.user;
   const info = { skip: e.skip, limit: e.limit, ...searchForm.value };
+  if (user.role == 'Doctor') info.doctor = user._id;
+  else if (user.role == 'Nurse') info.doctor = user.doctor;
   const res: IQueryResult = await groupAxios.query(info);
   if (res.errcode == '0') {
     list.value = res.data;
@@ -149,11 +152,15 @@ const toClose = () => {
 // 查询其他信息
 const searchOther = async () => {
   let res: IQueryResult;
+  // 医生
   let user = store.state.user;
-  if (user.role == 'Admin') res = await doctorAxios.query({});
-  else if (user.role == 'Doctor') res = await doctorAxios.fetch(user._id);
+  if (user.role == 'Admin') {
+    res = await doctorAxios.query({});
+    if (res.errcode == '0') doctorList.value = res.data;
+    return;
+  } else if (user.role == 'Doctor') res = await doctorAxios.fetch(user._id);
   else if (user.role == 'Nurse') res = await doctorAxios.fetch(user.doctor);
-  if (res.errcode == '0') doctorList.value = res.data;
+  if (res.errcode == '0') doctorList.value = [res.data];
 };
 </script>
 <style scoped lang="scss">

+ 10 - 3
src/views/nurse/index.vue

@@ -105,7 +105,10 @@ onMounted(async () => {
   loading.value = false;
 });
 const search = async (e: { skip: number; limit: number }) => {
+  let user = store.state.user;
   const info = { skip: e.skip, limit: e.limit, ...searchForm.value };
+  if (user.role == 'Doctor') info.doctor = user._id;
+  else if (user.role == 'Nurse') info.doctor = user.doctor;
   const res: IQueryResult = await nurseAxios.query(info);
   if (res.errcode == '0') {
     list.value = res.data;
@@ -195,11 +198,15 @@ const toClose = () => {
 // 查询其他信息
 const searchOther = async () => {
   let res: IQueryResult;
+  // 医生
   let user = store.state.user;
-  if (user.role == 'Admin') res = await doctorAxios.query({});
-  else if (user.role == 'Doctor') res = await doctorAxios.fetch(user._id);
+  if (user.role == 'Admin') {
+    res = await doctorAxios.query({});
+    if (res.errcode == '0') doctorList.value = res.data;
+    return;
+  } else if (user.role == 'Doctor') res = await doctorAxios.fetch(user._id);
   else if (user.role == 'Nurse') res = await doctorAxios.fetch(user.doctor);
-  if (res.errcode == '0') doctorList.value = res.data;
+  if (res.errcode == '0') doctorList.value = [res.data];
 };
 </script>
 <style scoped lang="scss">