From 8b9fb1b29588216f15e845ccf04f2f6a6d3e0c2c Mon Sep 17 00:00:00 2001
From: Kxc0822a <kxc000822>
Date: 星期五, 25 三月 2022 18:03:36 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/shf' into shf
---
src/api/safetyInspectionItem.js | 57 ++++
src/views/safetyproduction/feature.vue | 2
src/views/safetyproduction/checklist.vue | 707 ++++++++++++++++++++++++++++++++++--------------------
3 files changed, 505 insertions(+), 261 deletions(-)
diff --git a/src/api/safetyInspectionItem.js b/src/api/safetyInspectionItem.js
new file mode 100644
index 0000000..57643fc
--- /dev/null
+++ b/src/api/safetyInspectionItem.js
@@ -0,0 +1,57 @@
+import {getToken} from "../utils/auth";
+import request from '@/utils/request'
+
+export function safetyInspectionItemList(data) {
+ return request({
+ headers:{
+ 'Authorization': getToken()
+ },
+ url: process.env.BASE_API+'/safetyInspectionItem/page',
+ method: 'post',
+ data
+ })
+}
+
+export function safetyInspectionItemAdd(data) {
+ return request({
+ headers:{
+ 'Authorization': getToken()
+ },
+ url: process.env.BASE_API+'/safetyInspectionItem/add',
+ method: 'post',
+ data
+ })
+}
+
+export function safetyInspectionItemMod(data) {
+ return request({
+ headers:{
+ 'Authorization': getToken()
+ },
+ url: process.env.BASE_API+'/safetyInspectionItem/mod',
+ method: 'post',
+ data
+ })
+}
+
+export function safetyInspectionItemDel(data) {
+ return request({
+ headers:{
+ 'Authorization': getToken()
+ },
+ url: process.env.BASE_API+'/safetyInspectionItem/del',
+ method: 'post',
+ data
+ })
+}
+
+export function safetyInspectionItemTree(data) {
+ return request({
+ headers:{
+ 'Authorization': getToken()
+ },
+ url: process.env.BASE_API+'/elementManagement/getElementTree',
+ method: 'post',
+ data
+ })
+}
\ No newline at end of file
diff --git a/src/views/safetyproduction/checklist.vue b/src/views/safetyproduction/checklist.vue
index 0697acc..31bad5e 100644
--- a/src/views/safetyproduction/checklist.vue
+++ b/src/views/safetyproduction/checklist.vue
@@ -9,295 +9,482 @@
<el-col :span="12">
<el-form-item size="mini">
<el-input
- v-model="form.name"
+ v-model="filterText"
placeholder="请输入检查项名称"
></el-input>
</el-form-item>
</el-col>
<el-col :span="11" :offset="1" style="white-space: nowrap">
<el-form-item size="mini">
- <el-button type="primary" class="btns" size="mini">搜索</el-button>
+ <el-button type="primary" class="btns" @click="find" size="mini"
+ >搜索</el-button
+ >
<el-button
type="primary"
style="margin: 0px"
class="btns"
icon="el-icon-plus"
size="mini"
+ @click="safetyInspectionItemC('', '新增')"
></el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-tree
- :data="data"
+ :data="tree"
:props="defaultProps"
+ @node-click="safetyInspectionItemL"
+ default-expand-all
+ :filter-node-method="filterNode"
+ ref="tree"
></el-tree>
</div>
</div>
<div class="box-right" v-if="show">
- <div class="box-rightXQ" v-for="(item,index) in 6" :key="index">
- <el-row class="box-rightXQ-top">
- <el-col :span="2">
- <p class="titles">标准化要求:</p>
- </el-col>
- <el-col :span="20">
- <p class="titles-type">1.企业应建立识别和获取适用的安全生产法律、法规、标准及其他要求的管理制度,明确责任部门,
- 确定获取渠道、方式和时机,及时识别和获取,定期更新。</p>
- </el-col>
- <el-col :span="2"><p class="btnXG" @click="show=false">修改</p></el-col>
- </el-row>
- <el-row>
- <el-col :span="2"><p class="title">企业达标标准:</p></el-col>
- <el-col :span="9"><p class="title-type">1.企业应建立识别和获取适用的安全生产法律、法规、标准及其他要求的管理制度,明确责任部门,
- 确定获取渠道、方式和时机,及时识别和获取,定期更新。</p></el-col>
- <el-col :span="2" :offset="1"><p class="title">评审方法:</p></el-col>
- <el-col :span="10"><p>1.识别和获取适用的安全生产法律、法规、标准及政府其他要求的制度;
- 2.适用的法律法规、.......</p></el-col>
- </el-row>
- </div>
+ <div class="box-rightXQ" v-for="(item, index) in list" :key="index">
+ <el-row class="box-rightXQ-top">
+ <el-col :span="2">
+ <p class="titles">标准化要求:</p>
+ </el-col>
+ <el-col :span="20">
+ <p class="titles-type">
+ {{ item.standardizationRequirements }}
+ </p>
+ </el-col>
+ <el-col :span="1"
+ ><p class="btnXG" @click="safetyInspectionItemC(item.id, '修改')">
+ 修改
+ </p></el-col
+ >
+ <el-col :span="1"
+ ><p class="btnXG" style="color:red;" @click="safetyInspectionItemDel(item.id)">
+ 删除
+ </p></el-col
+ >
+ </el-row>
+ <el-row>
+ <el-col :span="2"><p class="title">企业达标标准:</p></el-col>
+ <el-col :span="9"
+ ><p class="title-type">
+ {{ item.enterpriseStandard }}
+ </p></el-col
+ >
+ <el-col :span="2" :offset="1"
+ ><p class="title">评审方法:</p></el-col
+ >
+ <el-col :span="10"
+ ><p class="title-type">
+ {{ item.reviewMethod }}
+ </p></el-col
+ >
+ </el-row>
+ </div>
</div>
<!-- 修改 -->
- <div class="box-rights" v-if="show==false?true:false">
+ <div class="box-rights" v-if="show == false ? true : false">
<Titlename title="基础信息"></Titlename>
<el-form ref="form" :model="form" label-width="120px">
- <div style="width:80%;margin:auto">
- <el-row class="box-right-content" align="top">
- <el-col :span="11" >
- <el-form-item label="A级要素">
- <el-select
- v-model="formInline.region"
- :disabled="true"
- style="width: 100%"
- >
- <el-option label="区域一" value="shanghai"></el-option>
- <el-option label="区域二" value="beijing"></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="11" :offset="2" style="white-space: nowrap">
- <el-form-item label="B级要素">
- <el-select
- v-model="formInline.region"
- :disabled="true"
- style="width: 100%"
- >
- <el-option label="区域一" value="shanghai"></el-option>
- <el-option label="区域二" value="beijing"></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="标准化要求">
- <el-input
- :rows="3"
- type="textarea"
- v-model="form.name"
- placeholder=""
- ></el-input>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="企业达标标准">
- <el-input
- type="textarea"
- :rows="3"
- v-model="form.name"
- placeholder=""
- ></el-input>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="评审方法">
- <el-input
- type="textarea"
- :rows="3"
- v-model="form.name"
- placeholder=""
- ></el-input>
- </el-form-item>
- </el-col>
- </el-row>
+ <div style="width: 80%; margin: auto">
+ <el-row class="box-right-content" align="top">
+ <el-col :span="11">
+ <el-form-item label="A级要素">
+ <el-select
+ v-model="form.elementA"
+ :disabled="disabled"
+ style="width: 100%"
+ @change="select"
+ >
+ <el-option
+ v-for="item in tree"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="11" :offset="2" style="white-space: nowrap">
+ <el-form-item label="B级要素">
+ <el-select
+ v-if="title == '新增'"
+ v-model="form.elementB"
+ :disabled="disabled"
+ style="width: 100%"
+ >
+ <el-option
+ v-for="item in treeChildren"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ <el-select
+ v-if="title == '修改'"
+ v-model="form.elementBName"
+ :disabled="disabled"
+ style="width: 100%"
+ >
+ <el-option
+ v-for="item in treeChildren"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="标准化要求">
+ <el-input
+ :rows="3"
+ type="textarea"
+ v-model="form.standardizationRequirements"
+ placeholder=""
+ maxlength="250"
+ show-word-limit
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="企业达标标准">
+ <el-input
+ type="textarea"
+ :rows="3"
+ v-model="form.enterpriseStandard"
+ placeholder=""
+ maxlength="250"
+ show-word-limit
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="评审方法">
+ <el-input
+ type="textarea"
+ :rows="3"
+ v-model="form.reviewMethod"
+ placeholder=""
+ maxlength="250"
+ show-word-limit
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
</div>
<Titlename title="评选标准"></Titlename>
- <div style="width:80%;margin:auto">
- <el-row>
- <el-col :span="24">
- <el-form-item label="否决项">
- <el-input
- type="textarea"
- :rows="3"
- v-model="form.name"
- placeholder=""
- ></el-input>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row style="padding: 15px 0">
- <el-col :span="12">
- <span
- style="font-size: 16px; font-weight: bold; line-height: 29px"
- >扣分清单</span
- >
- </el-col>
- <el-col :span="12" style="text-align: right">
- <el-button type="primary" @click="dialogVisible=true" class="btns" size="mini" icon="el-icon-plus"
- >新增</el-button
- >
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-table border>
- <el-table-column
- prop="date"
- align="center"
- label="序号"
- width="150"
+ <div style="width: 80%; margin: auto">
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="否决项">
+ <el-input
+ type="textarea"
+ :rows="3"
+ v-model="form.veto"
+ placeholder=""
+ maxlength="250"
+ show-word-limit
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row style="padding: 15px 0">
+ <el-col :span="12">
+ <span
+ style="font-size: 16px; font-weight: bold; line-height: 29px"
+ >扣分清单</span
>
- </el-table-column>
- <el-table-column
- prop="name"
- align="center"
- label="名称"
- ></el-table-column>
- <el-table-column align="center" label="操作" width="200px">
- <template slot-scope="scope">
- <el-button
- @click="handleClick(scope.row)"
- type="text"
- size="small"
- >编辑</el-button
- >
- <el-button type="text" size="small" style="color: red"
- >删除</el-button
- >
- </template>
- </el-table-column>
- </el-table>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24" style="padding:20px 0;text-align:center">
- <el-button type="primary" class="btns">提交</el-button>
- <el-button @click="btnsQX">取消</el-button>
- </el-col>
- </el-row>
+ </el-col>
+ <el-col :span="12" style="text-align: right">
+ <el-button
+ type="primary"
+ @click="coAdd('', '新增')"
+ class="btns"
+ size="mini"
+ icon="el-icon-plus"
+ >新增</el-button
+ >
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-table border :data="form.deductionList">
+ <el-table-column
+ type="index"
+ align="center"
+ label="序号"
+ width="150"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="name"
+ align="center"
+ label="名称"
+ ></el-table-column>
+ <el-table-column align="center" label="操作" width="200px">
+ <template slot-scope="scope">
+ <el-button
+ @click="coAdd(scope.row, '编辑')"
+ type="text"
+ size="small"
+ >编辑</el-button
+ >
+ <el-button
+ type="text"
+ size="small"
+ style="color: red"
+ @click="listDel(scope.row)"
+ >删除</el-button
+ >
+ </template>
+ </el-table-column>
+ </el-table>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24" style="padding: 20px 0; text-align: center">
+ <el-button
+ type="primary"
+ @click="safetyInspectionItemA"
+ class="btns"
+ >提交</el-button
+ >
+ <el-button @click="btnsQX">取消</el-button>
+ </el-col>
+ </el-row>
</div>
</el-form>
</div>
- </div>
-
+ </div>
-<el-dialog
- title="新增扣分项"
- :visible.sync="dialogVisible"
- width="30%"
->
- <el-form ref="form" :model="form" label-width="80px">
- <el-form-item label="名称">
- <el-input v-model="form.name"></el-input>
- </el-form-item>
- <el-form-item label="说明">
- <el-input v-model="form.name" :rows="5" type="textarea"></el-input>
- </el-form-item>
- </el-form>
- <span slot="footer" class="dialog-footer">
- <el-button @click="dialogVisible = false">取 消</el-button>
- <el-button type="primary" class="btns" @click="dialogVisible = false">确 定</el-button>
- </span>
-</el-dialog>
-
+ <el-dialog :title="titleN" :visible.sync="dialogVisible" width="30%">
+ <el-form ref="form" :model="formInline" label-width="80px">
+ <el-form-item label="名称">
+ <el-input v-model="formInline.name"></el-input>
+ </el-form-item>
+ <el-form-item label="说明">
+ <el-input
+ v-model="formInline.remark"
+ :rows="5"
+ type="textarea"
+ ></el-input>
+ </el-form-item>
+ </el-form>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="dialogVisible = false">取 消</el-button>
+ <el-button type="primary" class="btns" @click="listAdd"
+ >确 定</el-button
+ >
+ </span>
+ </el-dialog>
</div>
</template>
<script>
-import Titlename from "../../components/Titlename/index.vue"
+import Titlename from "../../components/Titlename/index.vue";
+import {
+ safetyInspectionItemList,
+ safetyInspectionItemAdd,
+ safetyInspectionItemMod,
+ safetyInspectionItemDel,
+ safetyInspectionItemTree,
+} from "@/api/safetyInspectionItem.js";
export default {
components: { Titlename },
data() {
return {
- dialogVisible:false,
- show:true,
+ filterText: "",
+ dialogVisible: false,
+ show: true,
+ disabled: true,
+ title: "",
+ titleN: "",
+ index: "",
form: {
- name: "",
+ elementA: "",
+ elementB: "",
+ standardizationRequirements: "",
+ enterpriseStandard: "",
+ reviewMethod: "",
+ veto: "",
+ deductionList: [],
},
formInline: {
- user: "",
- region: "",
+ name: "",
+ remark: "",
},
- data: [
- {
- label: "一级 1",
- children: [
- {
- label: "二级 1-1",
- children: [
- {
- label: "三级 1-1-1",
- },
- ],
- },
- ],
+ listQuery: {
+ filter: {
+ elementB: "",
},
- {
- label: "一级 2",
- children: [
- {
- label: "二级 2-1",
- children: [
- {
- label: "三级 2-1-1",
- },
- ],
- },
- {
- label: "二级 2-2",
- children: [
- {
- label: "三级 2-2-1",
- },
- ],
- },
- ],
- },
- {
- label: "一级 3",
- children: [
- {
- label: "二级 3-1",
- children: [
- {
- label: "三级 3-1-1",
- },
- ],
- },
- {
- label: "二级 3-2",
- children: [
- {
- label: "三级 3-2-1",
- },
- ],
- },
- ],
- },
- ],
+
+ pageIndex: 1,
+ pageSize: 10,
+ },
+ tree: [],
+ list: [],
+ treeChildren: [],
defaultProps: {
children: "children",
label: "label",
},
};
},
- methods:{
- btnsQX(){
- this.show=true
- }
- }
+ created() {
+ this.beforTree();
+ },
+ watch: {
+ filterText(val) {
+ this.$refs.tree.filter(val);
+ },
+ },
+ methods: {
+ filterNode(value, data){
+ if (!value) return true;
+ return data.label.indexOf(value) !== -1;
+ },
+ beforTree() {
+ safetyInspectionItemTree().then((res) => {
+ console.log(res);
+ this.tree = res.data.result;
+ });
+ },
+ safetyInspectionItemL(data) {
+ // console.log(data)
+ this.listQuery.filter.elementB = data.value;
+ safetyInspectionItemList(this.listQuery).then((res) => {
+ // console.log(res.data.result.records);
+ this.list = res.data.result.records;
+ });
+ },
+ safetyInspectionItemC(id, type) {
+ this.show = false;
+ this.title = type;
+ if (type == "新增") {
+ this.disabled = false;
+ this.form = {
+ elementA: "",
+ elementB: "",
+ standardizationRequirements: "",
+ enterpriseStandard: "",
+ reviewMethod: "",
+ veto: "",
+ deductionList: [],
+ };
+ } else {
+ this.disabled = true;
+ var i = this.list.findIndex((item) => item.id == id);
+ console.log(id);
+ this.form = this.list[i];
+ }
+ },
+ select(val) {
+ this.form.elementB = "";
+ var i = this.tree.findIndex((item) => item.value == val);
+ this.treeChildren = this.tree[i].children;
+ },
+ safetyInspectionItemA() {
+ if (this.title == "新增") {
+ safetyInspectionItemAdd(this.form).then((res) => {
+ if (res.data.code == 200) {
+ this.show = true;
+ safetyInspectionItemList(this.listQuery).then((res) => {
+ this.list = res.data.result.records;
+ });
+ this.$notify({
+ type: "success",
+ duration: 2000,
+ message: "新增成功",
+ title: "成功",
+ });
+ } else {
+ this.$message({
+ type: "warning",
+ message: res.data.message,
+ });
+ }
+ });
+ } else {
+ safetyInspectionItemMod(this.form).then((res) => {
+ if (res.data.code == 200) {
+ this.show = true;
+ safetyInspectionItemList(this.listQuery).then((res) => {
+ this.list = res.data.result.records;
+ });
+ this.$notify({
+ type: "success",
+ duration: 2000,
+ message: "修改成功",
+ title: "成功",
+ });
+ } else {
+ his.$message({
+ type: "warning",
+ message: res.data.message,
+ });
+ }
+ });
+ }
+ },
+ coAdd(val, type) {
+ this.titleN = type;
+ if (type == "新增") {
+ this.dialogVisible = true;
+ this.formInline = {
+ name: "",
+ remark: "",
+ };
+ } else {
+ this.dialogVisible = true;
+ this.index = this.form.deductionList.findIndex(
+ (item) => item.name == val.name
+ );
+ this.formInline = val;
+ }
+ },
+ listAdd() {
+ if (this.titleN == "新增") {
+ this.form.deductionList.push(this.formInline);
+ this.dialogVisible = false;
+ } else {
+ this.form.deductionList[this.index].name = this.formInline.name;
+ this.form.deductionList[this.index].space = this.formInline.space;
+ this.dialogVisible = false;
+ }
+ },
+ listDel(val) {
+ var i = this.form.deductionList.findIndex(
+ (item) => item.name == val.name
+ );
+ this.form.deductionList.splice(i, 1);
+ },
+ safetyInspectionItemDel(id) {
+ safetyInspectionItemDel({ id: id }).then((res) => {
+ if (res.data.code == 200) {
+ safetyInspectionItemList(this.listQuery).then((res) => {
+ this.list = res.data.result.records;
+ });
+ this.$notify({
+ title: "成功",
+ message: "删除成功",
+ type: "success",
+ duration: 2000,
+ });
+ }
+ });
+ },
+ btnsQX() {
+ this.show = true;
+ },
+ },
};
</script>
<style scoped>
@@ -329,46 +516,46 @@
background-color: #fff;
border-radius: 5px;
}
-.box-rightXQ{
- margin-bottom:10px;
+.box-rightXQ {
+ margin-bottom: 10px;
border: 1px solid #dedede;
border-radius: 5px;
padding: 0 10px;
background-color: white;
font-size: 14px;
}
-.titles{
+.titles {
font-weight: bold;
- text-align:right;
+ text-align: right;
}
-.title{
- text-align:right;
+.title {
+ text-align: right;
}
-.titles-type{
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
-}
-.title-type{
+.titles-type {
overflow: hidden;
- text-overflow: ellipsis;
- display: -webkit-box;
- -webkit-box-orient: vertical;
- -webkit-line-clamp: 4;
+ white-space: nowrap;
+ text-overflow: ellipsis;
}
-.btnXG{
+.title-type {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 4;
+}
+.btnXG {
text-align: center;
- color: #034EA2;
+ color: #034ea2;
font-weight: bolder;
}
-.box-rightXQ-top{
- border-bottom: 1px solid #E9E9E9;
+.box-rightXQ-top {
+ border-bottom: 1px solid #e9e9e9;
}
.box-right-content {
padding: 15px 0;
}
-.btns{
- background-color: #034EA2;
- border: 1px solid #034EA2;
+.btns {
+ background-color: #034ea2;
+ border: 1px solid #034ea2;
}
</style>
\ No newline at end of file
diff --git a/src/views/safetyproduction/feature.vue b/src/views/safetyproduction/feature.vue
index fa7084f..8ab28c8 100644
--- a/src/views/safetyproduction/feature.vue
+++ b/src/views/safetyproduction/feature.vue
@@ -292,7 +292,7 @@
title: "成功",
});
} else {
- his.$message({
+ this.$message({
type: "warning",
message: res.data.message,
});
--
Gitblit v1.9.2