From c7d2fb7b04ea184df7c03a615ccda9bd172bb527 Mon Sep 17 00:00:00 2001
From: linwenling <3256558519@qq.com>
Date: 星期三, 09 八月 2023 21:19:07 +0800
Subject: [PATCH] 家庭模块的三个图标

---
 ruoyi-ui/src/views/doctor/doctorInfo.vue |  248 +++++++++++++++++++++++++++----------------------
 1 files changed, 137 insertions(+), 111 deletions(-)

diff --git a/ruoyi-ui/src/views/doctor/doctorInfo.vue b/ruoyi-ui/src/views/doctor/doctorInfo.vue
index f6c46d0..fcb338b 100644
--- a/ruoyi-ui/src/views/doctor/doctorInfo.vue
+++ b/ruoyi-ui/src/views/doctor/doctorInfo.vue
@@ -18,12 +18,13 @@
         <el-container>
           <el-row>
             <el-cow :span="8">
-              <el-form-item label="绫诲瀷" prop="type" label-width="50px" style="background: #FAD1E0;border-radius: 7px 7px 7px 7px;opacity: 1;">
-                <el-select v-model="formData.type" placeholder="璇烽�夋嫨绫诲埆" clearable :style="{width: '100%'}"  >
+              <el-form-item label="绫诲埆" prop="type" label-width="55px" style="background: #FAD1E0;border-radius: 7px 7px 7px 7px;opacity: 1;">
+                <el-select v-model="formData.type" placeholder="璇烽�夋嫨绫诲埆" clearable :style="{width: '100%'}"   :disabled="dsb">
                   <el-option v-for="(item, index) in typeOptions" :key="index" :label="item.label" :value="item.value"
                   ></el-option>
                 </el-select>
-            </el-form-item>
+                <el-input v-model="newOption" v-if="showInput" placeholder="鑻ユ湭鍦ㄤ笂杩伴�夐」涓壘鍒板搴旂被鍒紝璇峰湪姝よ緭鍏ユ柊鐨勭被鍒�" @change="addNewOption"></el-input>
+              </el-form-item>
             </el-cow>
             <el-cow :span="8">
               <el-form-item label="鐥囩姸" prop="symptom" label-width="50px" style="background: #FAD1E0;border-radius: 7px 7px 7px 7px;opacity: 1;">
@@ -62,7 +63,7 @@
           <el-row>
             <el-cow :span="8">
               <el-form-item label="涓尰澶勬柟" prop="cmedical" label-width="68px" style="background: #FAD1E0;border-radius: 7px 7px 7px 7px;opacity: 1;">
-                <el-input v-model="formData.cmedical" placeholder="璇疯緭鍏ヤ腑鍖诲鏂�" clearable :style="{width: '100%'}" :disabled="dsb">
+                <el-input v-model="formData.cmedical" placeholder="璇疯緭鍏ヤ腑鍖诲鏂�"  clearable :style="{width: '100%'}" :disabled="dsb">
                 </el-input>
               </el-form-item>
             </el-cow>
@@ -76,103 +77,102 @@
         </el-container>
       </div>
       </el-container>
-      <h4 class="form-header">鐢靛瓙鏂囦欢 </h4>
-      <el-upload
-        action="#"
-        list-type="picture-card"
-        multiple
-        :http-request="requestUpload"
-        :file-list="fileList"
-      >
-        <i slot="default" class="el-icon-plus"></i>
-        <div slot="file" slot-scope="{file}">
-          <img
-            class="el-upload-list__item-thumbnail"
-            :src="file.url"
-            alt=""
-            style="width: 147px; height: 147px"
-            fit="cover"
-            :preview-src-list="[file.url]"
-          >
-          <span class="el-upload-list__item-actions">
-        <span
-          v-if="isShow"
-          class="el-upload-list__item-preview"
-          @click="handlePictureCardPreview(file)"
+        <h4 class="form-header">鐢靛瓙鏂囦欢 </h4>
+        <el-upload
+          action="#"
+          list-type="picture-card"
+          multiple
+          :http-request="requestUpload"
+          :file-list="fileList"
         >
-          <i class="el-icon-zoom-in"></i>
-        </span>
-        <span
-          v-if="isShow"
-          class="el-upload-list__item-delete"
-          @click="handleDownload(file.url)"
+          <i slot="default" class="el-icon-plus"></i>
+          <div slot="file" slot-scope="{file}">
+            <img
+              class="el-upload-list__item-thumbnail"
+              :src="file.url"
+              alt=""
+              style="width: 147px; height: 147px"
+              fit="cover"
+              :preview-src-list="[file.url]"
+            >
+            <span class="el-upload-list__item-actions" >
+            <span
+
+              class="el-upload-list__item-preview"
+              @click="handlePictureCardPreview(file)"
+            >
+              <i class="el-icon-zoom-in"></i>
+            </span>
+            <span
+
+              class="el-upload-list__item-delete"
+              @click="handleDownload(file.url)"
+            >
+              <i class="el-icon-download"></i>
+            </span>
+            <span
+              v-if="isShow"
+              class="el-upload-list__item-delete"
+              @click="handleRemove(file)"
+            >
+              <i class="el-icon-delete"></i>
+            </span>
+          </span>
+
+
+          </div>
+        </el-upload>
+
+        <h4 class="form-header">鍏朵粬闄勪欢 </h4>
+        <el-upload
+          action=""
+          :file-list="fileListOther"
+          class="upload-demo"
+          multiple
+          list-type="picture-card"
+          :on-preview="handleFileCardPreview"
+          :on-remove="handleRemoveFile"
+          :http-request="requestUpload"
+          :show-file-list="true"
         >
-          <i class="el-icon-download"></i>
-        </span>
-        <span
-          v-if="isShow"
-          class="el-upload-list__item-delete"
-          @click="handleRemove(file)"
-        >
-          <i class="el-icon-delete"></i>
-        </span>
-      </span>
 
+          <i slot="default" class="el-icon-plus"></i>
+          <div slot="file" slot-scope="{file}">
+            <img
+              class="el-upload-list__item-thumbnail"
+              src="../../assets/401_images/401.gif"
+              alt=""
+              style="width: 147px; height: 147px"
+              fit="cover"
+            >
+            <span class="el-upload-list__item-actions">
+                    <span
+                      class="el-upload-list__item-preview"
+                      @click="handleFileCardPreview(file)"
+                    >
+                      <i class="el-icon-zoom-in"></i>
+                    </span>
+                    <span
 
-        </div>
-      </el-upload>
-
-      <h4 class="form-header">鍏朵粬闄勪欢 </h4>
-    <el-upload
-            action=""
-            :file-list="fileListOther"
-            class="upload-demo"
-            multiple
-            list-type="picture-card"
-            :on-preview="handleFileCardPreview"
-            :on-remove="handleRemoveFile"
-            :http-request="requestUpload"
-            :show-file-list="true"
-          >
-
-              <i slot="default" class="el-icon-plus"></i>
-              <div slot="file" slot-scope="{file}">
-                <img
-                  class="el-upload-list__item-thumbnail"
-                  src="../../assets/401_images/401.gif"
-                  alt=""
-                  style="width: 147px; height: 147px"
-                  fit="cover"
-                >
-                <span class="el-upload-list__item-actions">
-                <span
-                  v-if="isShow"
-                  class="el-upload-list__item-preview"
-                  @click="handleFileCardPreview(file)"
-                >
-                  <i class="el-icon-zoom-in"></i>
-                </span>
-                <span
-                  v-if="isShow"
-                  class="el-upload-list__item-delete"
-                  @click="handleDownload(file.url)"
-                >
+                      class="el-upload-list__item-delete"
+                      @click="handleDownload(file.url)"
+                    >
                  <i class="el-icon-download"></i>
                  </span>
-                <span
-                  v-if="isShow"
-                  class="el-upload-list__item-delete"
-                  @click="handleRemoveFile(file)"
-                >
-                  <i class="el-icon-delete"></i>
-                </span>
-              </span>
+                    <span
+                      v-if="isShow"
+                      class="el-upload-list__item-delete"
+                      @click="handleRemoveFile(file)"
+                    >
+                      <i class="el-icon-delete"></i>
+                    </span>
+                  </span>
 
 
-              </div>
+          </div>
 
 
-          </el-upload>
+        </el-upload>
 
       <el-form-item size="large">
         <el-button v-if="isShow" type="primary" @click="submitForm" :disabled="dsb">淇敼</el-button>
@@ -190,7 +190,7 @@
 import {blobValidate} from "@/utils/ruoyi";
 import errorCode from "@/utils/errorCode";
 import {Message} from "element-ui";
-import { getDoctor, updateDoctor,download,uploadPic} from "@/api/doctor/index";
+import {getDoctor, updateDoctor, download, uploadPic, listType} from "@/api/doctor/index";
 
 export default {
   components: {},
@@ -199,18 +199,16 @@
     return {
       cdi:"灏卞尰璁板綍璇︾粏淇℃伅",
       udi:"灏卞尰璁板綍淇℃伅璇︽儏",
-      fot:[".jpg",".jif","png"],
-      fileList:[
-      ],
-      fileListOther:[
-
-      ],
+      fot:['.bmp','.jpg','.jpeg','.png','.tif','.gif','.pcx','.tga','.exif','.fpx',
+        '.svg','.psd','.cdr','.pcd','.dxf','.ufo','.eps','.ai','.aw','.WMF','.webp','.apng'],
+      fileList:[],
+      fileListOther:[],
       dsb:true,
       btn:false,
       isShow:true,
       // 灏卞尰璁板綍琛ㄦ牸鏁版嵁
       doctorList: [],
-
+      typeList:[],
       formData: {
         //灏卞尰璁板綍
         id:undefined,
@@ -230,7 +228,7 @@
       rules: {
         type: [{
           required: true,
-          message: '璇疯緭鍏ョ被鍨�',
+          message: '璇疯緭鍏ョ被鍒�',
           trigger: 'blur'
         }],
         symptom: [{
@@ -271,16 +269,9 @@
         }],
 
       },
-      typeOptions: [{
-        value:'绁炵粡绉�',
-        label:'绁炵粡绉�'
-      },{
-        value:'鐗欑',
-        label:'鐗欑'
-      },{
-        value:'鍐呯',
-        label:'鍐呯'
-      }],
+      typeOptions: [],
+      newOption: undefined,
+      showInput: false
     }
   },
   computed: {},
@@ -294,6 +285,7 @@
       this.btn= jd
       this.dsb = !jd
       this.isShow=true
+      this.showInput=true
       document.title = "淇敼灏卞尰璁板綍璇︾粏淇℃伅";
       this.$route.meta.title = "淇敼灏卞尰璁板綍璇︾粏淇℃伅";//鍒楄〃鐨勫悕绉�
     }
@@ -327,7 +319,16 @@
         }
         this.loading = false;
       });
-      this.getCateInfor()
+      listType(this.queryParams).then(response => {
+          this.typeList = response.data;
+          this.total = response.data.total;
+          // console.log( this.typeList )
+          // 鍦ㄥ洖璋冨嚱鏁颁腑璋冪敤 getTypeOptions()
+          this.getTypeOptions();
+          this.loading = false;
+        }
+      );
+      // this.getCateInfor()
 
     }
   },
@@ -344,6 +345,31 @@
     //     })
     //   })
     // },
+    //绫诲埆
+    addNewOption() {
+      const newOption = this.newOption.trim();
+      if (newOption && !this.typeOptions.includes(newOption)) {
+        this.typeOptions.push(newOption);
+        this.$set(this.formData, 'type', newOption); // 鏇存柊formDat.type鐨勫�间负鏂扮殑閫夐」
+      }
+    },
+    getTypeOptions() {
+      const filteredOptions = this.typeList.filter(item => typeof item === 'string' && item !== '');
+      // 鍒涘缓涓�涓┖瀵硅薄鐢ㄤ簬瀛樺偍鍞竴鐨勫瓧绗︿覆閫夐」
+      const uniqueOptions = {};
+      // 鏋勫缓涓嬫媺閫夐」鍒楄〃
+      this.typeOptions = filteredOptions.reduce((options, option) => {
+        if (!uniqueOptions[option]) {
+          uniqueOptions[option] = true;
+          options.push({
+            label: option,
+            value: option
+          });
+        }
+        return options;
+      }, []);
+
+    },
     submitForm() {
       let ul = this.fileList.map(function (elem){
         return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")

--
Gitblit v1.9.1