From db97f4d5bfa03e22480f171dcca6dc32ee31f239 Mon Sep 17 00:00:00 2001
From: cqf
Date: 星期三, 15 六月 2022 15:39:29 +0800
Subject: [PATCH] 整改进度/隐患下达
---
src/views/accidentHidden/fillProgress.vue | 7 +
src/api/sgyhpczl/careabout.js | 6
src/api/sgyhpczl/hiddenDangerRegistration.js | 28 +++++
src/api/sgyhpczl/majorHidden.js | 19 +++
src/views/hiddenDangerRegistration/index.vue | 138 ++++++++++++++++++++++++++-
src/views/accidentHidden/majorHidden.vue | 49 ++++++++-
6 files changed, 230 insertions(+), 17 deletions(-)
diff --git a/src/api/sgyhpczl/careabout.js b/src/api/sgyhpczl/careabout.js
index 387d4aa..2e871ad 100644
--- a/src/api/sgyhpczl/careabout.js
+++ b/src/api/sgyhpczl/careabout.js
@@ -1,5 +1,5 @@
import request from '@/utils/request';
-import {getTokenAndVerify} from "@/api/sgyhpczl/auth";
+import {getTokenAndVerify,getUsernameAndPassword} from "@/api/sgyhpczl/auth";
export function getPageList(data) {
@@ -68,7 +68,9 @@
return request({
headers:{
'token': getTokenAndVerify().token,
- 'verify':getTokenAndVerify().verify
+ 'verify':getTokenAndVerify().verify,
+ 'username': getUsernameAndPassword.username,
+ 'password':getUsernameAndPassword().password
},
url: "/taboi/danger/focus_list",
contentType: "application/json",
diff --git a/src/api/sgyhpczl/hiddenDangerRegistration.js b/src/api/sgyhpczl/hiddenDangerRegistration.js
index e5a2675..75ea8f4 100644
--- a/src/api/sgyhpczl/hiddenDangerRegistration.js
+++ b/src/api/sgyhpczl/hiddenDangerRegistration.js
@@ -161,3 +161,31 @@
method: 'POST',
});
}
+//导出
+export function analogy_export_do(data) {
+ return request({
+ headers: {
+ 'token': getTokenAndVerify().token,
+ 'verify': getTokenAndVerify().verify
+ },
+ url: '/taboi/excel/danger_export_do',
+ method: 'POST',
+ responseType: 'arraybuffer',
+ data
+ });
+}
+//下载模板
+export function downloadFile(params) {
+ return request({
+ headers: {
+ 'token': getTokenAndVerify().token,
+ 'verify': getTokenAndVerify().verify
+ },
+ url: '/taboi/download/danger_template',
+ method: 'GET',
+ contentType: "multipart/form-data",
+ responseType:'blob',
+ params:params?params:{}
+ });
+}
+
diff --git a/src/api/sgyhpczl/majorHidden.js b/src/api/sgyhpczl/majorHidden.js
index f3a4a29..6edcb8f 100644
--- a/src/api/sgyhpczl/majorHidden.js
+++ b/src/api/sgyhpczl/majorHidden.js
@@ -1,5 +1,5 @@
import request from '@/utils/request';
-import {getTokenAndVerify} from "@/api/sgyhpczl/auth";
+import {getTokenAndVerify,getUsernameAndPassword} from "@/api/sgyhpczl/auth";
export function getPageList(data) {
@@ -78,7 +78,9 @@
return request({
headers:{
'token': getTokenAndVerify().token,
- 'verify':getTokenAndVerify().verify
+ 'verify':getTokenAndVerify().verify,
+ 'username': getUsernameAndPassword.username,
+ 'password':getUsernameAndPassword().password
},
url: "/taboi/danger/major_list",
contentType: "application/json",
@@ -127,3 +129,16 @@
method: 'POST',
});
}
+//导出
+export function analogy_export_do(data) {
+ return request({
+ headers: {
+ 'token': getTokenAndVerify().token,
+ 'verify': getTokenAndVerify().verify
+ },
+ url: '/taboi/excel/danger_export_do',
+ method: 'POST',
+ responseType: 'arraybuffer',
+ data
+ });
+}
diff --git a/src/views/accidentHidden/fillProgress.vue b/src/views/accidentHidden/fillProgress.vue
index c665310..70a167b 100644
--- a/src/views/accidentHidden/fillProgress.vue
+++ b/src/views/accidentHidden/fillProgress.vue
@@ -48,6 +48,7 @@
align="center">
</el-table-column>
<el-table-column
+ v-if="type==1"
label="操作"
align="center"
width="200">
@@ -74,6 +75,7 @@
</div>
</div>
+ <el-button @click="returnIndex">返回</el-button>
<el-dialog
:title="title"
:visible.sync="dialogVisible"
@@ -347,6 +349,11 @@
})
this.clickCellMap[id] = []
},
+ returnIndex(){
+ this.$router.push({
+ path:"/accidentHidden/accidentHidden/majorHidden"
+ })
+ },
}
}
</script>
diff --git a/src/views/accidentHidden/majorHidden.vue b/src/views/accidentHidden/majorHidden.vue
index ab2fffe..cb9fe93 100644
--- a/src/views/accidentHidden/majorHidden.vue
+++ b/src/views/accidentHidden/majorHidden.vue
@@ -45,7 +45,7 @@
v-for="item in YHBMList"
:key="item.branch_id"
:label="item.branch_name"
- :value="item.branch_id">
+ :value="item.branch_name">
</el-option>
</el-select>
</el-form-item>
@@ -136,12 +136,12 @@
<el-form-item style="text-align:center;padding:0 50px">
<el-button type="primary" class="btns" size="small" icon="el-icon-search" @click="getPageList()">查询</el-button>
<el-button type="primary" class="btns" size="small" @click="reset()">重置</el-button>
- <el-button type="primary" class="btns" size="small" icon="el-icon-upload2">导出excel</el-button>
+ <el-button type="primary" class="btns" size="small" icon="el-icon-upload2" @click="exportData">导出excel</el-button>
</el-form-item>
</el-form>
<el-row class="title-center">
<el-col :span="10">
- <el-radio-group v-model="listQuery.form.alter_status" style="border:none">
+ <el-radio-group v-model="listQuery.form.alter_status" @change="changeStatus" style="border:none">
<el-radio-button label="正在整改">正在整改</el-radio-button>
<el-radio-button label="正在复查">正在复查</el-radio-button>
<el-radio-button label="整改完成">整改完成</el-radio-button>
@@ -160,7 +160,7 @@
<el-table-column prop="checktype" label="检查类别" align="center">
</el-table-column>
<el-table-column label="隐患项目" align="center">
- <el-table-column prop="check_date" label="检查时间" width="120" align="center"></el-table-column>
+ <el-table-column prop="check_date" label="检查时间" :formatter="formatColumnDate" width="120" align="center"></el-table-column>
<el-table-column prop="address" label="地点" align="center"> </el-table-column>
<el-table-column prop="ht_content" label="内容" align="center"> </el-table-column>
<el-table-column prop="ht_typesub" label="类别" align="center"> </el-table-column>
@@ -197,7 +197,7 @@
</div>
</template>
<script>
-import {getPageList} from "@/api/sgyhpczl/majorHidden";
+import {getPageList,analogy_export_do} from "@/api/sgyhpczl/majorHidden";
import {initJCBM ,initYHLX, initBC ,initJCLB ,initYHBM ,initYHJB,initLlr} from "@/api/sgyhpczl/initSelect";
export default {
data() {
@@ -333,6 +333,45 @@
}
})
},
+ //状态切换
+ changeStatus(val){
+ this.listQuery.form.alter_status = val;
+ this.getPageList();
+ },
+ //日期格式转换
+ formatColumnDate(row, column) {
+ // 获取单元格数据
+ let data = row[column.property];
+ if (data == null) {
+ return null;
+ }
+ let dt = new Date(data);
+ return (
+ dt.getFullYear() + "-" + (dt.getMonth() + 1) + "-" + dt.getDate() + " "
+ );
+ },
+ exportData() {
+ this.listLoading = true
+ var requestData = JSON.parse(JSON.stringify(this.listQuery));
+ requestData.export_type = 0;
+ //删除分页参数
+ this.$delete(requestData, 'page')
+ this.$delete(requestData, 'limit')
+ analogy_export_do(requestData).then(res => {
+ this.listLoading = false
+ var blob = new Blob([res.data])
+ var downloadElement = document.createElement('a')
+ var href = window.URL.createObjectURL(blob) //创建下载的链接
+ downloadElement.href = href
+ downloadElement.download = '重大隐患整改进度.xlsx' //下载后文件名
+ document.body.appendChild(downloadElement)
+ downloadElement.click() //点击下载
+ document.body.removeChild(downloadElement) //下载完成移除元素
+ window.URL.revokeObjectURL(href) //释放掉blob对象
+ }).catch(err => {
+ console.log(err)
+ })
+ },
initYHLX(){
initYHLX().then(res=>{
if (res.data.ok==1){
diff --git a/src/views/hiddenDangerRegistration/index.vue b/src/views/hiddenDangerRegistration/index.vue
index de1a993..8fee8a0 100644
--- a/src/views/hiddenDangerRegistration/index.vue
+++ b/src/views/hiddenDangerRegistration/index.vue
@@ -45,7 +45,7 @@
v-for="item in YHBMList"
:key="item.branch_id"
:label="item.branch_name"
- :value="item.branch_id">
+ :value="item.branch_name">
</el-option>
</el-select>
</el-form-item>
@@ -136,7 +136,7 @@
<el-form-item style="text-align:center;padding:0 50px">
<el-button type="primary" class="btns" size="small" icon="el-icon-search" @click="getPageList()">查询</el-button>
<el-button type="primary" class="btns" size="small" @click="reset()">重置</el-button>
- <el-button type="primary" class="btns" size="small" icon="el-icon-upload2">导出excel</el-button>
+ <el-button type="primary" class="btns" size="small" icon="el-icon-upload2" @click="exportData">导出excel</el-button>
</el-form-item>
</el-form>
<el-row class="title-center">
@@ -146,9 +146,18 @@
<el-input v-model="form.name" placeholder="未选择文件"></el-input>
</el-form-item>
<el-form-item>
- <el-button type="primary" size="small" class="btns"
- >选择文件</el-button
+ <el-upload
+ class="upload-demo"
+ ref="upload"
+ :http-request="uploadSectionFile"
+ :on-preview="handlePreview"
+ :on-remove="handleRemove"
+ :file-list="fileList"
+ :before-upload="beforeUpload"
+ :auto-upload="true"
>
+ <el-button type="primary" size="small" class="btns">选择文件</el-button>
+ </el-upload>
<el-button
type="primary"
class="btns"
@@ -161,6 +170,7 @@
class="btns"
size="small"
icon="el-icon-download"
+ @click="downloadTemplate"
>下载模板</el-button
>
</el-form-item>
@@ -190,14 +200,34 @@
<el-table-column prop="check_man" label="检查人" align="center" width="120"></el-table-column>
<el-table-column prop="checktype" label="检查类别" align="center"></el-table-column>
<el-table-column label="隐患项目" align="center">
- <el-table-column prop="check_date" label="检查时间" width="120" align="center"></el-table-column>
+ <el-table-column prop="check_date" label="检查时间" :formatter="formatColumnDate" width="120" align="center"></el-table-column>
<el-table-column prop="address" label="地点" align="center"> </el-table-column>
- <el-table-column prop="ht_content" label="内容" align="center"> </el-table-column>
+ <el-table-column prop="ht_content" label="内容" align="center">
+ <template slot-scope="scope">
+ <el-popover trigger="hover" placement="top">
+ <p>{{ scope.row.ht_content }}</p>
+ <div slot="reference" class="name-wrapper">{{
+ scope.row.ht_content != null && scope.row.ht_content.length > 10 ? scope.row.ht_content.substring(0, 8) + "...." : scope.row.ht_content
+ }}
+ </div>
+ </el-popover>
+ </template>
+ </el-table-column>
<el-table-column prop="ht_typesub" label="类别" align="center"> </el-table-column>
<el-table-column prop="ht_level" label="级别" align="center"> </el-table-column>
</el-table-column>
<el-table-column label="整改计划" align="center">
- <el-table-column prop="measure" label="整改措施" align="center"> </el-table-column>
+ <el-table-column prop="measure" label="整改措施" align="center">
+ <template slot-scope="scope">
+ <el-popover trigger="hover" placement="top">
+ <p>{{ scope.row.measure }}</p>
+ <div slot="reference" class="name-wrapper">{{
+ scope.row.measure != null && scope.row.measure.length > 10 ? scope.row.measure.substring(0, 8) + "...." : scope.row.measure
+ }}
+ </div>
+ </el-popover>
+ </template>
+ </el-table-column>
<el-table-column prop="ht_branch" label="隐患部门" align="center"> </el-table-column>
<el-table-column prop="duty_officer" label="责任人" align="center"> </el-table-column>
<el-table-column prop="alter_time" label="限改时间" width="120" align="center"></el-table-column>
@@ -254,7 +284,7 @@
</div>
</template>
<script>
-import {getPageList,delDanger} from "@/api/sgyhpczl/hiddenDangerRegistration";
+import {getPageList,delDanger,analogy_export_do,downloadFile} from "@/api/sgyhpczl/hiddenDangerRegistration";
import {initJCBM ,initYHLX, initBC ,initJCLB ,initYHBM ,initYHJB,initLlr} from "@/api/sgyhpczl/initSelect";
export default {
data() {
@@ -283,6 +313,7 @@
currentPage: 1,
pageSize: 10,
recordTotal: 0,
+ fileList: [],
};
},
mounted(){
@@ -422,6 +453,97 @@
}
})
},
+ handleRemove(file, fileList) {
+ var fileUidList = [];
+ fileList.forEach(file => {
+ fileUidList.push(file.uid);
+ })
+ this.fileNameList = this.fileNameList.filter(n => fileUidList.indexOf(n.uid) != -1);
+ },
+ handlePreview(file) {
+ console.log(file)
+ },
+ beforeUpload(file) {
+ var FileExt = file.name.replace(/.+\./, "");
+ //.jpg,.gif,.bmp,.png,.doc,.docx,.pdf,.ppt,.pptx,.xls,.xlsx,.rar,.zip
+ if (['jpg', 'png', 'bmp', 'gif', 'jpeg','doc','docx','pdf','ppt','xls','pptx','xls','xlsx','rar','zip'].indexOf(FileExt.toLowerCase()) === -1) {
+ this.$message({
+ type: 'warning',
+ message: '请上传后缀名为jpg,gif,bmp,png,doc,docx,pdf,ppt,pptx,xls,xlsx,rar,zip的图片!'
+ });
+ return false;
+ }
+ },
+ uploadSectionFile(param) {
+ let form = new FormData();
+ var that = this;
+ form.append('file', param.file);
+ //隐患延期申请附件
+ form.append('type', "0");
+ uploadFile(form).then(res => {
+ var data = res.data;
+ if (data.ok) {
+ var fileName = data.data.fileName[0];
+ if (!fileName.endsWith("a62b")) {
+ fileName = fileName + "a62b";
+ }
+ var fileObj = {
+ "fileName": fileName,
+ "uid": param.file.uid
+ }
+ this.fileNameList.push(fileObj);
+ }
+ })
+ },
+ //下载模板
+ downloadTemplate(){
+ downloadFile().then(res => {
+ this.listLoading = false
+ var blob = new Blob([res.data])
+ var downloadElement = document.createElement('a')
+ var href = window.URL.createObjectURL(blob) //创建下载的链接
+ downloadElement.href = href
+ downloadElement.download = '隐患整改通知单导入模板.xlsx' //下载后文件名
+ document.body.appendChild(downloadElement)
+ downloadElement.click() //点击下载
+ document.body.removeChild(downloadElement) //下载完成移除元素
+ window.URL.revokeObjectURL(href) //释放掉blob对象
+ }).catch(err => {
+ console.log(err)
+ })
+ },
+ exportData() {
+ this.listLoading = true
+ var requestData = JSON.parse(JSON.stringify(this.listQuery));
+ requestData.export_type = 1;
+ //删除分页参数
+ this.$delete(requestData, 'page')
+ this.$delete(requestData, 'limit')
+ analogy_export_do(requestData).then(res => {
+ this.listLoading = false
+ var blob = new Blob([res.data])
+ var downloadElement = document.createElement('a')
+ var href = window.URL.createObjectURL(blob) //创建下载的链接
+ downloadElement.href = href
+ downloadElement.download = '隐患登记下达.xlsx' //下载后文件名
+ document.body.appendChild(downloadElement)
+ downloadElement.click() //点击下载
+ document.body.removeChild(downloadElement) //下载完成移除元素
+ window.URL.revokeObjectURL(href) //释放掉blob对象
+ }).catch(err => {
+ console.log(err)
+ })
+ },
+ //日期格式转换
+ formatColumnDate(row, column) {
+ // 获取单元格数据
+ let data = row[column.property]
+ if (data == null) {
+ return null
+ }
+ let dt = new Date(data)
+ return dt.getFullYear() + '-' + (dt.getMonth() + 1) + '-' + dt.getDate() + ' '
+ },
initYHLX(){
initYHLX().then(res=>{
if (res.data.ok==1){
--
Gitblit v1.9.2