浏览代码

人员健康情况上报导出

yanliming 4 年之前
父节点
当前提交
9ccaa53e5d

+ 13 - 1
src/api/base/personHealthLedger.js

@@ -62,6 +62,18 @@ function healthLedgerDateExportXls(formData) {
   return request.post(constant.serverUrl + "/base/personHealthLedger/healthLedgerDateExportXls", formData);
 }
 
+function exportXlsWC(formData) {
+  return request.post(constant.serverUrl + "/base/personHealthLedger/exportXlsWC", formData);
+}
+
+function exportXlsTWYC(formData) {
+  return request.post(constant.serverUrl + "/base/personHealthLedger/exportXlsTWYC", formData);
+}
+
+function exportXlsZZYC(formData) {
+  return request.post(constant.serverUrl + "/base/personHealthLedger/exportXlsZZYC", formData);
+}
+
 export default {
-  pageList, create, edit, add, update, remove, batchRemove, exportXls, pageListAll,exportXlsAll,gpsHistoryList,healthLedgerDateExportXls
+  pageList, create, edit, add, update, remove, batchRemove, exportXls, pageListAll,exportXlsAll,gpsHistoryList,exportXlsWC,exportXlsTWYC,exportXlsZZYC,healthLedgerDateExportXls
 }

+ 5 - 1
src/api/base/personInfo.js

@@ -152,9 +152,13 @@ function findByCompanyCode() {
   return request.post(constant.serverUrl + "/base/personInfo/findByCompanyCode");
 }
 
+function updateHealthyCode(personId){
+  return request.get(constant.serverUrl + `/base/personInfo/updateHealthyCode?personId=${personId}`);
+}
+
 export default {
   pageList, create, edit, add, update, remove, batchRemove, exportXls,
   enabledFace, enabledCard, enabledApp, enabledGuest, dataSync, enabledFaceList,
   enabledWechatNotice, unbindWechat, lifeRecordList, clearFaceImg, batchClearFaceImg,
-  enabledSync, enabledSyncList, bindWechat,findByCompanyId,findByCompanyCode
+  enabledSync, enabledSyncList, bindWechat,findByCompanyId,findByCompanyCode,updateHealthyCode
 }

+ 127 - 4
src/views/base/personHealthLedger-list.vue

@@ -97,6 +97,9 @@
         :loading="downloadLoading"
         @click="handleExportDetail"
       >导出健康信息明细表</el-button>
+      <el-button type="warning" size="small" plain icon="el-icon-download" :loading="downloadLoading" @click="exportXlsWC">导出外出信息台账</el-button>
+      <el-button type="danger" size="small" plain icon="el-icon-download" :loading="downloadLoading" @click="exportXlsTWYC">导出体温异常信息台账</el-button>
+      <el-button type="danger" size="small" plain icon="el-icon-download" :loading="downloadLoading" @click="exportXlsZZYC">导出症状异常信息台账</el-button>
     </el-row>
     <el-table
       ref="formTable"
@@ -240,8 +243,7 @@ export default {
         healthStatus: "",
         companyId: "",
         subordinate: true,
-        queryTime: "",
-        popedom:"1"
+        queryTime: ""
       },
       loading: false,
       tableData: [],
@@ -374,7 +376,6 @@ export default {
       formData.append("companyId", self.queryModel.companyId);
       formData.append("subordinate", self.queryModel.subordinate);
       formData.append("queryTime", self.queryModel.queryTime);
-      formData.append("popedom", self.queryModel.popedom);
 
       if (this.field != null) {
         formData.append("field", this.field);
@@ -471,7 +472,6 @@ export default {
           formData.append("companyId", self.queryModel.companyId);
           formData.append("subordinate", self.queryModel.subordinate);
           formData.append("queryTime", self.queryModel.queryTime);
-          formData.append("popedom", self.queryModel.popedom);
 
           personHealthLedgerApi.exportXls(formData).then(function(response) {
             var jsonData = response.data;
@@ -479,6 +479,129 @@ export default {
             self.downloadLoading = false;
             self.loading = false;
 
+            if (jsonData.result) {
+              self.$message({
+                type: "success",
+                showClose: true,
+                message: `报表已生成,<a href="${jsonData.data}">请点击链接下载</a>`,
+                dangerouslyUseHTMLString: true,
+                duration: 30000
+              });
+            } else {
+              self.$message({
+                type: "warning",
+                message: jsonData.message
+              });
+            }
+          });
+        }
+      });
+    },
+    exportXlsWC() {
+      var self = this;
+
+      //导出
+      this.$refs["queryForm"].validate(valid => {
+        if (valid) {
+          self.downloadLoading = true;
+          self.loading = true;
+
+          var formData = new FormData();
+          if (self.queryModel.companyId == null) {
+            self.queryModel.companyId = "";
+          }
+          formData.append("companyId", self.queryModel.companyId);
+          formData.append("subordinate", self.queryModel.subordinate);
+          formData.append("queryTime", self.queryModel.queryTime);
+
+          personHealthLedgerApi.exportXlsWC(formData).then(function(response) {
+            var jsonData = response.data;
+
+            self.downloadLoading = false;
+            self.loading = false;
+
+            if (jsonData.result) {
+              self.$message({
+                type: "success",
+                showClose: true,
+                message: `报表已生成,<a href="${jsonData.data}">请点击链接下载</a>`,
+                dangerouslyUseHTMLString: true,
+                duration: 30000
+              });
+            } else {
+              self.$message({
+                type: "warning",
+                message: jsonData.message
+              });
+            }
+          });
+        }
+      });
+    },
+    exportXlsTWYC() {
+      var self = this;
+
+      //导出
+      this.$refs["queryForm"].validate(valid => {
+        if (valid) {
+          self.downloadLoading = true;
+          self.loading = true;
+
+          var formData = new FormData();
+          if (self.queryModel.companyId == null) {
+            self.queryModel.companyId = "";
+          }
+          formData.append("companyId", self.queryModel.companyId);
+          formData.append("subordinate", self.queryModel.subordinate);
+          formData.append("queryTime", self.queryModel.queryTime);
+
+          personHealthLedgerApi.exportXlsTWYC(formData).then(function(response) {
+            var jsonData = response.data;
+
+            self.downloadLoading = false;
+            self.loading = false;
+
+            if (jsonData.result) {
+              self.$message({
+                type: "success",
+                showClose: true,
+                message: `报表已生成,<a href="${jsonData.data}">请点击链接下载</a>`,
+                dangerouslyUseHTMLString: true,
+                duration: 30000
+              });
+            } else {
+              self.$message({
+                type: "warning",
+                message: jsonData.message
+              });
+            }
+          });
+        }
+      });
+    },
+    exportXlsZZYC() {
+      var self = this;
+
+      //导出
+      this.$refs["queryForm"].validate(valid => {
+        if (valid) {
+          self.downloadLoading = true;
+          self.loading = true;
+
+          var formData = new FormData();
+          if (self.queryModel.companyId == null) {
+            self.queryModel.companyId = "";
+          }
+          formData.append("companyId", self.queryModel.companyId);
+          formData.append("subordinate", self.queryModel.subordinate);
+          formData.append("queryTime", self.queryModel.queryTime);
+
+          personHealthLedgerApi.exportXlsZZYC(formData).then(function(response) {
+            var jsonData = response.data;
+
+            self.downloadLoading = false;
+            self.loading = false;
+
             if (jsonData.result) {
               self.$message({
                 type: "success",

+ 24 - 2
src/views/base/personInfo-detail.vue

@@ -120,7 +120,7 @@
           </el-col>
         </el-row>
         <el-row>
-          <el-col :span="24">
+          <el-col :span="12">
             <el-form-item label="工作状态" prop="workStatus">
               <el-select
                 clearable
@@ -138,6 +138,22 @@
               </el-select>
             </el-form-item>
           </el-col>
+          <el-col :span="12">
+            <el-form-item label="健康码" prop="healthyCode">
+              <el-select
+                v-model="formModel.healthyCode"
+                placeholder="请选择"
+                clearable
+              >
+                <el-option
+                  v-for="item in healthyCodeList"
+                  :key="item.value"
+                  :label="item.name"
+                  :value="item.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
         </el-row>
         <el-row>
           <el-col :span="24">
@@ -333,7 +349,13 @@ export default {
         children: "children",
       },
       parkList: [],
-      workStatusResult:[]
+      workStatusResult:[],
+      healthyCodeList: [
+          {name:"绿码",value:"00"},
+          {name:"黄码",value:"01"},
+          {name:"红码",value:"02"},
+          {name:"灰码",value:"11"}
+      ]
     };
   },
   created() {

+ 34 - 1
src/views/base/personInfo-list.vue

@@ -359,6 +359,16 @@
         width="100"
         show-overflow-tooltip
       ></el-table-column>
+      <el-table-column prop="healthyCodeN" label="健康码" width="80">
+        <template slot-scope="{row}">
+          <span v-if="row.healthyCode">
+            <span v-if="row.healthyCode == '00'" style="color:green">绿码</span>
+            <span v-else-if="row.healthyCode == '01'" style="color:yellow">黄码</span>
+            <span v-else-if="row.healthyCode == '02'" style="color:red">红码</span>
+            <span v-else style="color:gray">灰码</span>
+          </span>
+        </template>
+      </el-table-column>
       <el-table-column label="工作状态" width="120">
         <template slot-scope="{ row }">
           <span v-if="row.workStatus == 1">工作</span>
@@ -543,7 +553,12 @@
                 :underline="false"
                 @click="unbindWechat(row)"
                 >微信解绑</el-link
-              >
+              >-
+              <el-link
+                type="primary"
+                :underline="false"
+                @click="updateHealthyCode(row)"
+                >更新健康码</el-link>
             </el-col>
           </el-row>
         </template>
@@ -1673,6 +1688,24 @@ export default {
       this.personId = record.id;
       this.showRoleModal = true;
     },
+    updateHealthyCode(record) {
+      var self = this;
+      self.loading = true;
+
+      personInfoApi.updateHealthyCode(record.id).then(response=>{
+        self.loading = false;
+
+        var jsonData = response.data;
+            
+        if (jsonData.result) {
+          self.$message.success("更新健康码状态成功!");
+          self.changePage(self.pageIndex);
+        }
+        else{
+          self.$message.success("更新健康码状态失败!");
+        }
+      });
+    }
   },
   async mounted() {
     var self = this;