增加安全隐患展示列配置&&修改安全隐患管理表单

This commit is contained in:
2022-03-09 14:30:17 +08:00
parent 19af77a025
commit d54eaa2984
3 changed files with 388 additions and 240 deletions

View File

@ -1,30 +1,6 @@
## 开发 # 内蒙古红峡化工厂科研生产管理大屏项目
```bash ## 运行
# 克隆项目
git clone https://gitee.com/y_project/RuoYi-Vue
# 进入项目目录 `npm install`
cd ruoyi-ui `npm run dev`
# 安装依赖
npm install
# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npm.taobao.org
# 启动服务
npm run dev
```
浏览器访问 http://localhost:80
## 发布
```bash
# 构建测试环境
npm run build:stage
# 构建生产环境
npm run build:prod
```

View File

@ -1,105 +1,123 @@
import request from '@/utils/request' import request from "@/utils/request";
/** --------------- left1 --------------- */ /** --------------- left1 --------------- */
// 危险源列表 // 危险源列表
export function leftOneList(params) { export function leftOneList(params) {
return request({ return request({
url: '/hx/dangerousSource/list', url: "/hx/dangerousSource/list",
params, params,
}) });
} }
// 导出模板 // 导出模板
export function importTemplate() { export function importTemplate() {
return request({ return request({
url: '/hx/dangerousSource/importTemplate', url: "/hx/dangerousSource/importTemplate",
}) });
} }
/** --------------- left2 --------------- */ /** --------------- left2 --------------- */
// 危险点列表 // 危险点列表
export function leftTwoList(params) { export function leftTwoList(params) {
return request({ return request({
url: '/hx/dangerousPoint/list', url: "/hx/dangerousPoint/list",
params, params,
}) });
} }
// 导出模板 // 导出模板
export function leftTwoImportTemplate() { export function leftTwoImportTemplate() {
return request({ return request({
url: '/hx/dangerousPoint/importTemplate', url: "/hx/dangerousPoint/importTemplate",
}) });
} }
/** --------------- left3 --------------- */ /** --------------- left3 --------------- */
// 危险作业列表 // 危险作业列表
export function leftThreeList(params) { export function leftThreeList(params) {
return request({ return request({
url: '/hx/dangerousWork/list', url: "/hx/dangerousWork/list",
params, params,
}) });
} }
// 导出模板 // 导出模板
export function leftThreeImportTemplate() { export function leftThreeImportTemplate() {
return request({ return request({
url: '/hx/dangerousWork/importTemplate', url: "/hx/dangerousWork/importTemplate",
}) });
} }
/** --------------- left4 --------------- */ /** --------------- left4 --------------- */
// 安全隐患列表 // 安全隐患列表
export function leftFourList(params) { export function leftFourList(params) {
return request({ return request({
url: '/hx/hiddenDanger/list', url: "/hx/hiddenDanger/list",
params, params,
}) });
} }
// 导出模板 // 导出模板
export function leftFourImportTemplate() { export function leftFourImportTemplate() {
return request({ return request({
url: '/hx/hiddenDanger/importTemplate', url: "/hx/hiddenDanger/importTemplate",
}) });
} }
// 查看安全隐患展示列
export function leftFourSetting(params) {
return request({
url: "/business/hxTableConfig",
params,
});
}
// 修改安全隐患展示列
export function editTroubleItemSetting(data) {
return request({
url: "/business/hxTableConfig",
method: "put",
data,
});
}
/** --------------- center1 --------------- */ /** --------------- center1 --------------- */
// 危险场所列表 // 危险场所列表
export function centerOneList(params) { export function centerOneList(params) {
return request({ return request({
url: '/hx/dangerousPlace/list', url: "/hx/dangerousPlace/list",
params, params,
}) });
} }
export function centerOneImportTemplate() { export function centerOneImportTemplate() {
return request({ return request({
url: '/hx/dangerousPlace/importTemplate', url: "/hx/dangerousPlace/importTemplate",
}) });
} }
/** --------------- center2 --------------- */ /** --------------- center2 --------------- */
// 视频管理 // 视频管理
export function centerTwoList(params) { export function centerTwoList(params) {
return request({ return request({
url: '/hx/video/list', url: "/hx/video/list",
params, params,
}) });
} }
// 删除视频 // 删除视频
export function delVideo(params) { export function delVideo(params) {
return request({ return request({
url: '/hx/video', url: "/hx/video",
method: 'delete', method: "delete",
params params,
}) });
} }
// 新增视频 // 新增视频
export function addVideo(data) { export function addVideo(data) {
return request({ return request({
url: '/hx/video', url: "/hx/video",
method:'post', method: "post",
data data,
}) });
} }
// 修改视频 // 修改视频
export function editVideo(data) { export function editVideo(data) {
return request({ return request({
url: '/hx/video', url: "/hx/video",
method:'put', method: "put",
data data,
}) });
} }
// /** --------------- right1 --------------- */ // /** --------------- right1 --------------- */
// // 质量问题 // // 质量问题

View File

@ -4,7 +4,14 @@
<el-col :span="24" :xs="24"> <el-col :span="24" :xs="24">
<el-row :gutter="10" class="mb8 fr"> <el-row :gutter="10" class="mb8 fr">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="info" plain icon="el-icon-upload2" size="mini" @click="handleImport">导入</el-button> <el-button
type="info"
plain
icon="el-icon-upload2"
size="mini"
@click="handleImport"
>导入</el-button
>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
@ -17,17 +24,46 @@
>导出模板</el-button >导出模板</el-button
> >
</el-col> </el-col>
<el-col :span="1.5">
<el-button
type="success"
@click="selectTroubleItem"
icon="el-icon-s-tools"
>展示列配置</el-button
>
<el-button @click="getTroubleItem">test</el-button>
</el-col>
</el-row> </el-row>
<el-table v-loading="loading" :data="userList"> <el-table v-loading="loading" :data="userList">
<el-table-column label="序号" align="center" prop="id" width="80" /> <el-table-column label="序号" align="center" prop="id" width="80" />
<el-table-column label="车间名称" align="center" prop="workshopName" /> <el-table-column label="所在位置" align="center" prop="address" />
<el-table-column label="日期" align="center" prop="month" />
<el-table-column label="隐患内容" align="center" prop="dangerContent" />
<el-table-column label="类别" align="center" prop="category" /> <el-table-column label="类别" align="center" prop="category" />
<el-table-column label="措施" align="center" prop="measures" /> <el-table-column label="检查日期" align="center" prop="checkDate" />
<el-table-column label="责任人" align="center" prop="personLiable" /> <el-table-column label="存在问题" align="center" prop="existProblem" />
<el-table-column label="备注" align="center" prop="remark" /> <el-table-column
label="责任人"
align="center"
prop="responsiblePerson"
/>
<el-table-column
label="责任单位"
align="center"
prop="responsibleUnit"
/>
<el-table-column
label="建议完成日期"
align="center"
prop="suggestCompleteTime"
/>
<el-table-column
label="临时控制措施"
align="center"
prop="tempUpdateMethod"
/>
<el-table-column label="整改建议" align="center" prop="updateSuggest" />
</el-table> </el-table>
<pagination <pagination
@ -41,7 +77,12 @@
/> />
</el-col> </el-col>
<!-- 用户导入对话框 --> <!-- 用户导入对话框 -->
<el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body> <el-dialog
:title="upload.title"
:visible.sync="upload.open"
width="400px"
append-to-body
>
<el-upload <el-upload
ref="upload" ref="upload"
:limit="1" :limit="1"
@ -75,11 +116,35 @@
<el-button @click="upload.open = false">取 消</el-button> <el-button @click="upload.open = false">取 消</el-button>
</div> </div>
</el-dialog> </el-dialog>
<!-- 安全隐患选择展示列对话框 -->
<el-dialog
:title="troubleItem.title"
:visible.sync="troubleItem.open"
width="500px"
>
<el-checkbox-group v-model="checkList" @change="handleTroubleItemChanged">
<el-checkbox v-for="item in listTitles" :label="item" :key="item">{{
item
}}</el-checkbox>
</el-checkbox-group>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitTroubleItem"> </el-button>
<el-button @click="troubleItem.open = false"> </el-button>
</div>
</el-dialog>
</el-row> </el-row>
</template> </template>
<script> <script>
import { leftFourList, leftFourImportTemplate } from './indexApi' import {
import { getToken } from '@/utils/auth' leftFourList,
leftFourImportTemplate,
leftFourSetting,
editTroubleItemSetting,
} from "./indexApi";
import { getToken } from "@/utils/auth";
const checkListTitles = ["车间名称", "隐患内容", "类别", "措施", "责任人"];
export default { export default {
data() { data() {
return { return {
@ -101,73 +166,162 @@ export default {
// 是否显示弹出层(用户导入) // 是否显示弹出层(用户导入)
open: false, open: false,
// 弹出层标题(用户导入) // 弹出层标题(用户导入)
title: '', title: "",
// 是否禁用上传 // 是否禁用上传
isUploading: false, isUploading: false,
// 是否更新已经存在的用户数据 // 是否更新已经存在的用户数据
updateSupport: 0, updateSupport: 0,
// 设置上传的请求头部 // 设置上传的请求头部
headers: { Authorization: 'Bearer ' + getToken() }, headers: { Authorization: "Bearer " + getToken() },
// 上传的地址 // 上传的地址
url: process.env.VUE_APP_BASE_API + '/hx/hiddenDanger/importData', url: process.env.VUE_APP_BASE_API + "/hx/hiddenDanger/importData",
}, },
} // 安全隐患选择展示列
troubleItem: {
// 是否显示弹出层(安全隐患展示列)
open: false,
// 弹出层标题(安全隐患展示列)
title: "",
// 设置上传的请求头部
headers: { Authorization: "Bearer " + getToken() },
// 接口地址
url: process.env.VUE_APP_BASE_API + "/business/hxTableConfig",
},
checkList: [],
listTitles: checkListTitles,
};
}, },
methods: { methods: {
/** 查询用户列表 */ /** 查询用户列表 */
getList() { getList() {
this.loading = true this.loading = true;
leftFourList(this.queryParams).then(res => {
this.userList = res.rows leftFourList(this.queryParams).then((res) => {
this.total = res.total this.userList = res.rows;
this.loading = false this.total = res.total;
}) this.loading = false;
});
},
// 获取安全隐患展示列表
getTroubleItem() {
this.loading = true;
const params = { tableName: "hx_hidden_danger" };
// checkList 转化成参数
leftFourSetting(params).then((res) => {
let list = {};
list = JSON.parse(res.data);
// 复选框
let checkDate = list.checkDate ?? false;
let category = list.category ?? false;
let address = list.address ?? false;
let existProblem = list.existProblem ?? false;
let responsiblePerson = list.responsiblePerson ?? false;
let responsibleUnit = list.responsibleUnit ?? false;
let suggestCompleteTime = list.suggestCompleteTime ?? false;
let tempUpdateMethod = list.tempUpdateMethod ?? false;
let updateSuggest = list.updateSuggest ?? false;
this.checkList = [];
if (responsibleUnit) this.checkList.push("车间名称");
if (address && existProblem) this.checkList.push("隐患内容");
if (updateSuggest && tempUpdateMethod) this.checkList.push("措施");
if (category) this.checkList.push("类别");
if (responsiblePerson) this.checkList.push("责任人");
});
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
const queryParams = this.queryParams const queryParams = this.queryParams;
this.$modal this.$modal
.confirm('是否确认导出所有数据项?') .confirm("是否确认导出所有数据项?")
.then(() => { .then(() => {
this.exportLoading = true this.exportLoading = true;
return exportUser(queryParams) return exportUser(queryParams);
}) })
.then(response => { .then((response) => {
this.$download.name(response.msg) this.$download.name(response.msg);
this.exportLoading = false this.exportLoading = false;
}) })
.catch(() => {}) .catch(() => {});
}, },
/** 导入按钮操作 */ /** 导入按钮操作 */
handleImport() { handleImport() {
this.upload.title = '数据导入' this.upload.title = "数据导入";
this.upload.open = true this.upload.open = true;
}, },
/** 下载模板操作 */ /** 下载模板操作 */
importTemplate() { importTemplate() {
leftFourImportTemplate().then(response => { leftFourImportTemplate().then((response) => {
this.$download.name(response.msg) this.$download.name(response.msg);
}) });
}, },
// 文件上传中处理 // 文件上传中处理
handleFileUploadProgress(event, file, fileList) { handleFileUploadProgress(event, file, fileList) {
this.upload.isUploading = true this.upload.isUploading = true;
}, },
// 文件上传成功处理 // 文件上传成功处理
handleFileSuccess(response, file, fileList) { handleFileSuccess(response, file, fileList) {
this.upload.open = false this.upload.open = false;
this.upload.isUploading = false this.upload.isUploading = false;
this.$refs.upload.clearFiles() this.$refs.upload.clearFiles();
this.$alert(response.msg, '导入结果', { dangerouslyUseHTMLString: true }) this.$alert(response.msg, "导入结果", { dangerouslyUseHTMLString: true });
this.getList() this.getList();
}, },
// 提交上传文件 // 提交上传文件
submitFileForm() { submitFileForm() {
this.$refs.upload.submit() this.$refs.upload.submit();
},
handleTroubleItemChanged(value) {
this.checkList = value;
},
// 编辑安全隐患列表展示列
selectTroubleItem() {
this.troubleItem.title = "编辑安全隐患展示列";
this.troubleItem.open = true;
},
// 提交安全隐患列表展示列
submitTroubleItem() {
let keyInfo = {};
keyInfo.checkDate = true;
keyInfo.suggestCompleteTime = true;
keyInfo.category = this.checkList.indexOf("类别") > -1;
keyInfo.responsibleUnit = this.checkList.indexOf("车间名称") > -1;
if (this.checkList.indexOf("隐患内容") > -1) {
keyInfo.address = true;
keyInfo.existProblem = true;
} else {
keyInfo.address = false;
keyInfo.existProblem = false;
}
if (this.checkList.indexOf("措施") > -1) {
keyInfo.updateSuggest = true;
keyInfo.tempUpdateMethod = true;
} else {
keyInfo.updateSuggest = false;
keyInfo.tempUpdateMethod = false;
}
keyInfo.responsiblePerson = this.checkList.indexOf("责任人") > -1;
let reqData = {};
reqData.tableName = "hx_hidden_danger";
reqData.keyInfo = JSON.stringify(keyInfo);
editTroubleItemSetting(reqData).then((response) => {
this.$modal.msgSuccess("修改成功");
this.troubleItem.open = false;
this.getTroubleItem();
this.loading = false;
});
}, },
}, },
created() { created() {
this.getList() this.getList();
this.getTroubleItem();
}, },
} };
</script> </script>