From c4d4c5d25cd78fa302fe07a824c8d7b3412bd9f1 Mon Sep 17 00:00:00 2001
From: feige <791364011@qq.com>
Date: 星期二, 06 五月 2025 16:42:15 +0800
Subject: [PATCH] 修改内容

---
 ruoyi-ui/src/views/healthy/index.vue |  343 ++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 253 insertions(+), 90 deletions(-)

diff --git a/ruoyi-ui/src/views/healthy/index.vue b/ruoyi-ui/src/views/healthy/index.vue
index cac3708..6eca37c 100644
--- a/ruoyi-ui/src/views/healthy/index.vue
+++ b/ruoyi-ui/src/views/healthy/index.vue
@@ -3,10 +3,10 @@
 
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
 
-      <el-form-item label="浣撴/鐪嬬梾鏃堕棿"  prop="checkTime">
+      <el-form-item label="鐪嬬梾鏃堕棿"  prop="checkTime">
         <el-date-picker
           v-model="dateRange"
-          style="width: 200px;
+          style="width: 240px;
                    height: 35px;
                    border-radius: 16px 16px 16px 16px;
                    opacity: 0.5;"
@@ -20,7 +20,7 @@
       <el-form-item label="鏁戠梾鍖婚櫌" prop="hospital" >
         <el-input
           v-model="queryParams.hospital"
-          placeholder="璇疯緭鍏ュ氨鐥呭尰闄�"
+          placeholder="璇疯緭鍏ユ晳鐥呭尰闄�"
           clearable
           style="width: 200px;
                    height: 35px;
@@ -29,18 +29,7 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="绫诲埆" prop="type">
-        <el-input
-          v-model="queryParams.type"
-          placeholder="璇疯緭鍏ョ被鍒�"
-          clearable
-          style="width: 200px;
-                   height: 35px;
-                   border-radius: 16px 16px 16px 16px;
-                   opacity: 0.5;"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
+
 
       <el-form-item label="棰樺悕" prop="title">
         <el-input
@@ -55,11 +44,7 @@
         />
       </el-form-item>
 
-        <el-button size="mini" type="text" @click="toYearhealthy" v-hasPermi="['person:healthy:healthYear']">
-          <div class="form" ><el-icon  style="padding-right:110px;"></el-icon>
-            <span class="text" style="width: 69px;height: 26px;font-size: 16px;padding-left:50px;
-            font-family: Microsoft YaHei-Regular, Microsoft YaHei; color: #EBA4AA;">骞村害鍋ュ悍鎯呭喌</span></div>
-        </el-button>
+
 
       <el-form-item>
         <el-button  size="mini" @click="handleQuery" style=" width: 65px; height: 32px;background: #FFDDE3;border-radius:6px 6px 6px 6px;opacity:1;">鎼滅储</el-button>
@@ -67,7 +52,7 @@
       </el-form-item>
     </el-form>
 
-    <el-row :gutter="10" class="mb8">
+    <el-row :gutter="10" class="mb8" v-if="userId != 2">
       <el-col :span="1.5">
         <el-button
           type="primary"
@@ -119,29 +104,44 @@
         >
           <el-button size="mini"   type="primary"
                      plain
-                     icon="el-icon-plus" >瀵煎叆</el-button>
+                 icon="el-icon-top">瀵煎叆</el-button>
 
         </el-upload>
+
       </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+       <el-col></el-col>
+      <el-col>
+<el-button size="mini" type="text" @click="toYearhealthy" v-hasPermi="['person:healthy:healthYear']">
+            <div class="form1" ><el-icon  style="padding-right:100px;"></el-icon>
+              <span class="text" style="width: 69px;height: 26px;font-size: 16px;
+              font-family: Microsoft YaHei-Regular, Microsoft YaHei; color: #EBA4AA;">鍋ュ悍鎯呭喌</span></div>
+          </el-button>
+
+        <el-button size="mini" type="text" @click="toExamination" v-hasPermi="['person:healthy:healthYear']">
+          <div class="form2" ><el-icon  style="padding-right:50px;"></el-icon>
+            <span class="text" style="width: 69px;height: 26px;font-size: 16px;margin-right: 20px;
+              font-family: Microsoft YaHei-Regular, Microsoft YaHei; color: #EBA4AA;">鍘嗗勾浣撴鎯呭喌</span></div>
+        </el-button>
+        </el-col>
     </el-row>
 
-    <el-table v-loading="loading" :data="healthList"  @selection-change="handleSelectionChange" @row-click="handleCheck" :row-class-name="tableRowClassName" style="background: #FFEFF2;  border-radius: 14px 14px 14px 14px;">
+    <el-table v-loading="loading"  :data="healthList"  @selection-change="handleSelectionChange"  :row-class-name="tableRowClassName" style="background: #FFEFF2;  border-radius: 14px 14px 14px 14px;">
       <el-table-column type="selection" width="55"  align="center" />
-      <el-table-column  label="搴忓彿" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="120"/>
+      <el-table-column label="搴忓彿" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="120"/>
 
-      <el-table-column label="浣撴/鐪嬬梾鏃堕棿" prop="checkTime" sortable width="200" align="center">
+      <el-table-column label="鐪嬬梾鏃堕棿" prop="checkTime" sortable width="200" align="center">
         <template slot-scope="scope">{{scope.row.checkTime? scope.row.checkTime: '鈥斺�斺�斺��'}}</template>
       </el-table-column>
-      <el-table-column label="绫诲埆" prop="type" sortable width="120" />
-      <el-table-column label="灏辩梾鍖婚櫌" prop="hospital" sortable width="120" >
+
+      <el-table-column label="鏁戠梾鍖婚櫌" prop="hospital" sortable width="120" >
 
       </el-table-column>
       <el-table-column label="棰樺悕" prop="title" sortable width="150" />
       <el-table-column label="娉ㄦ剰浜嬮」" prop="notice" sortable width="150" />
       <el-table-column label="鐢靛瓙鏂囦欢" prop="url" align="center" sortable  width="150" >
         <template slot-scope="scope" >
-          <div  @click="handleCheck(scope.row)">
+          <div>
             <img
               class="el-upload-list__item-thumbnail"
               src="../../assets/images/deviceLis.png"
@@ -166,8 +166,9 @@
       <el-table-column label="澶囨敞" prop="remark" sortable width="120" >
         <template slot-scope="scope">{{scope.row.remark? scope.row.remark: '鈥斺�斺�斺��'}}</template>
       </el-table-column>
-      <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+      <el-table-column label="鎿嶄綔" align="center" width="250" class-name="small-padding fixed-width" v-if="userId != 2">
         <template slot-scope="scope" v-if="scope.row.roleId !== 1">
+          <div class="button-container">
           <el-button
             size="mini"
             type="text"
@@ -186,6 +187,7 @@
             <el-button size="mini" type="text" icon="el-icon-d-arrow-right"  @click="handleCheck(scope.row)">鏌ョ湅璇︽儏</el-button>
 
           </el-dropdown>
+          </div>
         </template>
       </el-table-column>
     </el-table>
@@ -199,25 +201,21 @@
       style="background: #FEF7FC;"
     />
 
-    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
+    <el-dialog :title="title" @click.native="handleDialogClick" :visible.sync="open" width="800px" append-to-body>
       <el-form ref="elForm" :model="formDat" :rules="rules" size="medium" label-width="100px">
 
 
         <el-form-item label="鍙戠敓鏃堕棿" prop="checkTime">
           <el-date-picker v-model="formDat.checkTime" type="date" placeholder="璇烽�夋嫨鏃ユ湡"
+		  @click.native.stop
+		  				      ref="datePicker"
                           :editable="false" :clearable="false" :style="{width: '100%'}"  value-format="yyyy-MM-dd"
           ></el-date-picker>
         </el-form-item>
 
-        <el-form-item label="绫诲埆" prop="type">
-          <el-select v-model="formDat.type" placeholder="璇烽�夋嫨">
-            <el-option label="浣撴" value="浣撴"></el-option>
-            <el-option label="鐪嬬梾" value="鐪嬬梾"></el-option>
 
-          </el-select>
-        </el-form-item>
-        <el-form-item label="灏辩梾鍖婚櫌" prop="hospital">
-          <el-input v-model="formDat.hospital" placeholder="璇疯緭鍏ュ氨鐥呭尰闄�" clearable :style="{width: '100%'}" >
+        <el-form-item label="鏁戠梾鍖婚櫌" prop="hospital">
+          <el-input v-model="formDat.hospital" placeholder="璇疯緭鍏ユ晳鐥呭尰闄�" clearable :style="{width: '100%'}" >
           </el-input>
         </el-form-item>
         <el-form-item label="棰樺悕" prop="title">
@@ -238,9 +236,13 @@
         <el-upload
           action="#"
           list-type="picture-card"
-          multiple
-          :http-request="requestUpload"
-          :file-list="fileList"
+
+		  multiple
+		  :http-request="requestUpload"
+		  :file-list="fileList"
+		  :on-change="handleChange"
+		  :auto-upload="false"
+		  	ref="upload"
         >
           <i slot="default" class="el-icon-plus"></i>
           <div slot="file" slot-scope="{file}">
@@ -273,6 +275,13 @@
 
           </div>
         </el-upload>
+		<el-button
+		         style="margin-left: 10px"
+		         size="small"
+		         type="success"
+
+		         @click="picUpload"
+		       >涓婁紶鍒版湇鍔″櫒</el-button>
         <h4 class="form-header">鍏朵粬闄勪欢 </h4>
         <el-upload
           action=""
@@ -281,15 +290,61 @@
           multiple
 
           :on-remove="handleRemoveFile"
-          :http-request="requestUpload"
           :show-file-list="true"
+		  	ref="upload1"
+		  :on-change="handleChange1"
+		  :auto-upload="false"
+		  list-type="picture-card"
+		    :http-request="requestUpload1"
         >
-          <el-button type="primary">鐐瑰嚮涓婁紶</el-button>
-          <template #tip>
-            <div class="el-upload__tip">
-            </div>
-          </template>
-        </el-upload>
+
+
+
+      <i slot="default" class="el-icon-plus"></i>
+              <div slot="file" slot-scope="{file}">
+                <!-- 娣诲姞video鍏冪礌鐢ㄤ簬鏄剧ず瑙嗛 -->
+                <video
+                  v-if="file.url.includes('.mp4')"
+                  class="el-upload-list__item-thumbnail"
+                  :src="file.url"
+                  style="width: 147px; height: 147px"
+                  fit="cover"
+                ></video>
+                <img v-else
+                     class="el-upload-list__item-thumbnail"
+                     src="../../assets/images/deviceLis.png"
+                     alt=""
+                     style="width: 100%; height: 100%"
+                     fit="cover"></img>
+
+                <span class="el-upload-list__item-actions">
+                     <span class="el-upload-list__item-name">{{ file.name }}</span>
+                          <span
+                            class="el-upload-list__item-preview"
+                            @click="handleFileCardPreview(file)"
+                          >
+                            <i class="el-icon-zoom-in"></i>
+                          </span>
+
+                          <span
+
+                            class="el-upload-list__item-delete"
+                            @click="handleRemoveFile(file)"
+                          >
+                            <i class="el-icon-delete"></i>
+                          </span>
+                    </span>
+
+              </div>
+
+
+            </el-upload>
+      	 <el-button
+      		          style="margin-left: 10px"
+      		          size="small"
+      		          type="success"
+      		          @click="fileUpload"
+      		        >涓婁紶鍒版湇鍔″櫒</el-button>
 
       </el-form>
       <h4 class="form-header"> </h4>
@@ -311,17 +366,19 @@
 <script>
 import { listRole, getRole, delRole, addRole, updateRole, dataScope, changeRoleStatus, deptTreeSelect } from "@/api/system/role";
 import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/menu";
-
+import {getInfo} from "@/api/login";
 
 
 //鍦╯ystem/note/index.js涓鍏ユ帴鍙e嚱鏁�  --鎺ュソ浜�
 import {listHealth,enload,delHealth,uploadPic, addHealth} from "@/api/healthy/index";
+import {Message} from "element-ui";
 
 export default {
-  name: "Role",
+  name: "ZYearInfo",
   dicts: ['sys_normal_disable'],
   data() {
     return {
+      userId: undefined,
       // 閬僵灞�
       disabled: false,
       loading: true,
@@ -351,10 +408,16 @@
       // 鏃ユ湡鑼冨洿
       dateRange: [],
       // 鏁版嵁鑼冨洿閫夐」
-      fot:[".jpg",".jif"],
+
+    fot:['.bmp','.jpg','.jpeg','.png','.tif','.gif','.pcx','.tga','.exif','.fpx',
+      '.svg','.psd','.cdr','.pcd','.dxf','.ufo','.eps','.ai','.aw','.WMF','.webp','.apng','.M4A'],
+
       fileList:[
       ],
-      fileListOther:[ ],
+      fileList1:[],
+      uploadFileList: [],
+      uploadFileList1: [],
+      fileListOther:[],
       dsb:true,
       btn:false,
       formDat: {
@@ -364,7 +427,7 @@
         usePeople: undefined,
         kind:undefined,
         remark: undefined,
-        url: undefined,
+        url: "",
       },
       // 鑿滃崟鍒楄〃
       menuOptions: [],
@@ -405,7 +468,7 @@
 
         hospital: [{
           required: true,
-          message: '璇疯緭鍏ュ氨鐥呭尰闄�',
+          message: '璇疯緭鍏ユ晳鐥呭尰闄�',
           trigger: 'blur'
         }],
         type: [{
@@ -430,11 +493,22 @@
   },
   created() {
     this.getList();
-
+    this.getInfo()
 
   },
   methods: {
-
+	  handleDialogClick()
+	  {
+	  	// 鍏抽棴鏃ユ湡閫夋嫨鍣�
+	  	      this.$refs.datePicker.handleClose();
+	  },
+    getInfo(){
+          console.log('-----------------')
+          getInfo().then(response=>{
+            console.log(response.user.roles[0].roleId,'roleID')
+            this.userId = response.user.roles[0].roleId
+          })
+        },
 
     // 鍙栨秷鎸夐挳
     cancelData() {
@@ -474,14 +548,20 @@
     },
     handleRemove(file) {
       for (let i = 0; i < this.fileList.length; i++) {
-        if (this.fileList[i].url == file.url)
-          this.$delete(this.fileList, i);
+        if(this.fileList[i].url==file.url)
+        {
+          this.$delete(this.fileList,i);
+        		 this.$delete(this.uploadFileList,i);
+        		 }
       }
     },
     handleRemoveFile(file) {
       for (let i = 0; i < this.fileListOther.length; i++) {
-        if (this.fileListOther[i].url == file.url)
-          this.$delete(this.fileListOther, i);
+        if(this.fileListOther[i].url==file.url)
+        {
+          this.$delete(this.fileListOther,i);
+          this.$delete(this.uploadFileList1,i);
+          }
       }
     },
 
@@ -516,7 +596,7 @@
           deptCheckStrictly: true,
           remark: undefined
         };
-      this.resetForm("form");
+      this.resetForm("elForm");
     },
     /** 鎼滅储鎸夐挳鎿嶄綔 */
     handleQuery() {
@@ -571,13 +651,13 @@
     /** 鎻愪氦鎸夐挳锛堟暟鎹潈闄愶級 */
     submitDataScope: function () {
 
-      let ul = this.fileList.map(function (elem) {
-        return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API, "")
-      }).join(",")
-      let uls = this.fileListOther.map(function (elem) {
-        return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API, "")
-      }).join(",")
-      this.formDat.url = ul + "," + uls
+      // let ul = this.fileList.map(function (elem) {
+      //   return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API, "")
+      // }).join(",")
+      // let uls = this.fileListOther.map(function (elem) {
+      //   return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API, "")
+      // }).join(",")
+      // this.formDat.url = ul + "," + uls
       this.$refs["elForm"].validate(valid => {
         if (valid) {
           addHealth(this.formDat).then(response => {
@@ -601,25 +681,88 @@
       });
 
     },
-    requestUpload(params) {
-      var file = params.file;
-      var formData = new FormData();
-      formData.append('uploadFile', file);
-      let _this = this
+    handleChange(file, fileList1) {
+    	   //瀹氫箟涓�涓叏灞�鏁扮粍uploadFileList鏉ュ仛瀛樺偍
 
-      uploadPic(formData).then(response => {
-        let pth = response.data.originalFilename.substr(response.data.originalFilename.length - 4, response.data.originalFilename.length)
+    	 // this.uploadFileList.push(file.raw);
+    	  console.log("=========5555=========")
+    	  console.log(file)
+    	//  console.log(this.uploadFileList)
+    	//  this.fileList = fileList
+    	//alert(file)
+    	    this.uploadFileList.push(file.raw);
+    	     this.fileList.push({name:file.name,url:file.url})
+    	//alert(fileList1.length)
+    	},
+    	handleChange1(file, fileOtherList1) {
+    	   //瀹氫箟涓�涓叏灞�鏁扮粍uploadFileList鏉ュ仛瀛樺偍
+    	this.uploadFileList1.push(file.raw);
+    	 this.fileListOther.push({name:file.name,url:file.url})
+    	 // this.uploadFileList.push(file.raw);
+    	  console.log("=========5555=========")
+    	  //console.log(file)
+    	//  console.log(this.uploadFileList)
+    	//  this.fileList = fileList
+    	},
+    	fileUpload(){
+    	//	var file = params.file;
 
-        if (_this.fot.includes(pth) === true) {
-          _this.fileList.push({name: response.data.fileName, "url": response.data.url})
+    		var formData = new FormData();
+    		this.$refs.upload1.submit();
+    		// formData.append('uploadFile', file);
+    		if(this.uploadFileList1.length==0){
+    			  this.$modal.msgSuccess("鏂囨。涓婁紶鍒楄〃涓嶈兘涓虹┖!");
+    			  return
+    		}
+    		this.uploadFileList1.forEach((elem)=>{
+    			formData.append("files", elem)
 
-        } else {
-          _this.fileListOther.push({name: response.data.fileName, url: response.data.url})
+    		})
 
-        }
-      })
+    		let _this = this
 
-    },
+    		this.uploading = true;
+    		uploadPic(formData).then(response => {
+    		_this.uploadFileList1 = []
+    		_this.formDat.url = _this.formDat.url+","+response.fileNames
+    		_this.$modal.msgSuccess("鏂囦欢涓婁紶鎴愬姛!");
+    		  })
+
+    	},
+    	picUpload()
+    	{
+    		var formData = new FormData();
+    		//alert(976)
+    		//this.$refs.upload.submit();
+    		//alert(8)
+    		//alert(this.uploadFileList.length)
+    	if(this.uploadFileList.length==0){
+    		  this.$modal.msgSuccess("鍥剧墖涓婁紶鍒楄〃涓嶈兘涓虹┖锛�");
+    		  return}
+    	//console.log(this.uploadFileList)
+    		this.uploadFileList.forEach((elem)=>{
+    			formData.append("files", elem)
+
+    		})
+    		//alert(90)
+    		let _this = this
+    		//alert(9)
+    	    uploadPic(formData).then(response => {
+    		//	alert("dds")
+    	      _this.formDat.url = _this.formDat.url+","+response.fileNames
+    		  _this.uploadFileList = []
+    		  _this.$modal.msgSuccess("鍥剧墖涓婁紶鎴愬姛");
+
+    	  });
+    	},
+        requestUpload(params) {
+    //alert(98)
+     //    this.uploadFileList.push(params.file);
+        },
+        requestUpload1(params)
+        {
+    		//     this.uploadFileList1.push(params.file);
+        },
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
     handleDelete(row) {
       const Ids = row.id || this.ids;
@@ -633,13 +776,14 @@
     },
     //骞村害鍋ュ悍鎶ュ憡
     toYearhealthy(){
-      // console.log(this.HealthyBaseList.uid)
-      // this.$router.push("/self/healthy/healthYear/" + this.HealthyBaseList.uid);
-      // this.$router.push("/self/healthy/healthYear" );
       this.$router.push("/self/healthy/healthYear" );
     },
-
+    //浣撴琛�
+    toExamination(){
+      this.$router.push("/self/healthy/Examination" );
+    },
     /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+
     handleExport() {
       const Ids = this.ids;
 
@@ -659,20 +803,21 @@
       }, `zYearInfo${new Date().getTime()}.xlsx`)
     },
     /** 瀵煎叆鎿嶄綔*/
-    handleEnport(params) {
+    handleEnport(params){
       var file = params.file;
       var formData = new FormData();
       formData.append('excelImport', file);
       let _this = this
-      alert(file)
       enload(formData).then(response => {
         _this.getList();
-        Message({message: "瀵煎叆鎴愬姛", type: 'warning'})
+        Message({ message: "瀵煎叆鎴愬姛", type: 'warning' })
 
       }).catch(err)
       {
-        Message({message: "瀵煎叆澶辫触", type: 'error'})
+        Message({ message: "瀵煎叆澶辫触", type: 'error' })
       }
+
+
 
     }
   }
@@ -689,4 +834,22 @@
   background: #FFEFF2;
 
 }
+.form1 {
+  position: absolute;
+  right: 60px;
+  top:20px;
+  background:center/11% no-repeat url('../../assets/icons/form.png') ;
+}
+.form2 {
+  position: absolute;
+  right: 200px;
+  top:20px;
+
+}
+.el-table__cell {
+  font-size: 14px; /* 璁剧疆瀛椾綋澶у皬 */
+}
+.button-container {
+  display: inline-flex; /* 璁剧疆鎸夐挳瀹瑰櫒涓鸿鍐呭厓绱� */
+}
 </style>

--
Gitblit v1.9.1