From 6fbb19ced2d11588c0e067653222efa7ed5d99d9 Mon Sep 17 00:00:00 2001
From: lyfO_o <764716047@qq.com>
Date: Tue, 29 Mar 2022 17:38:21 +0800
Subject: [PATCH] Merge remote-tracking branch 'remotes/origin/shf' into master
---
src/views/safetyproduction/feature.vue | 337 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 337 insertions(+), 0 deletions(-)
diff --git a/src/views/safetyproduction/feature.vue b/src/views/safetyproduction/feature.vue
new file mode 100644
index 0000000..8ab28c8
--- /dev/null
+++ b/src/views/safetyproduction/feature.vue
@@ -0,0 +1,337 @@
+<template>
+ <div class="app-container">
+ <el-form ref="form" :model="form" label-width="80px">
+ <el-row>
+ <el-col :span="5">
+ <el-form-item label="要素名称">
+ <el-input v-model="listQuery.filter.name"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="4" style="text-align: center">
+ <el-button type="primary" icon="el-icon-search" @click="find()" class="btns"
+ >搜索</el-button
+ >
+ <el-button
+ type="primary"
+ icon="el-icon-plus"
+ class="btns"
+ @click="handleClick('', '新增')"
+ >新增</el-button
+ >
+ </el-col>
+ </el-row>
+ </el-form>
+ <el-table :data="list" border style="width: 100%">
+ <el-table-column prop="name" align="center" label="要素名称">
+ </el-table-column>
+ <el-table-column label="级别" align="center">
+ <template slot-scope="scope">
+ <span v-if="scope.row.type == 0">A级要素</span>
+ <span v-if="scope.row.type == 1">B级要素</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="父要素" prop="parentName" align="center">
+ </el-table-column>
+ <el-table-column label="得分" prop="point" align="center">
+ </el-table-column>
+ <el-table-column prop="remark" label="备注" align="center">
+ </el-table-column>
+ <el-table-column prop="createTime" label="创建时间" align="center">
+ </el-table-column>
+ <el-table-column prop="updateTime" label="更新时间" align="center">
+ </el-table-column>
+ <el-table-column align="center" label="操作">
+ <template slot-scope="scope">
+ <el-button
+ @click="handleClick(scope.row, '编辑')"
+ type="text"
+ size="small"
+ >编辑</el-button
+ >
+ <el-button
+ type="text"
+ size="small"
+ @click="deleteById(scope.row.id)"
+ style="color: red"
+ >删除</el-button
+ >
+ </template>
+ </el-table-column>
+ </el-table>
+ <div style="text-align:right">
+ <el-pagination
+ v-show="recordTotal>0"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ :current-page="currentPage"
+ :page-sizes="[10, 20, 30, 50]"
+ :page-size="pageSize"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="recordTotal"
+ >
+ </el-pagination>
+ </div>
+ <el-dialog
+ :title="title"
+ :visible.sync="dialogVisible"
+ width="40%"
+ >
+ <el-form ref="form" :rules="rules" :model="form" label-width="80px">
+ <el-row>
+ <el-col :span="11">
+ <el-form-item label="要素名称" prop="name">
+ <el-input v-model="form.name" maxlength="50"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="11" :offset="2">
+ <el-form-item label="级别" prop="type">
+ <el-select
+ v-model="form.type"
+ placeholder="请选择"
+ style="width: 100%"
+ :disabled="title=='编辑'?true:false"
+ >
+ <el-option
+ v-for="item in options"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row v-if="form.type==0?false:true">
+ <el-col :span="11">
+ <el-form-item label="父要素" prop="parentId">
+ <el-select
+ v-model="form.parentId"
+ placeholder="请选择"
+ style="width: 100%"
+ >
+ <el-option
+ v-for="item in parent"
+ :key="item.value"
+ :label="item.name"
+ :value="item.id"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="11" :offset="2">
+ <el-form-item label="得分" prop="point">
+ <el-input v-model.number="form.point"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-form-item label="备注">
+ <el-input
+ v-model="form.remark"
+ maxlength="250"
+ :rows="5"
+ type="textarea"
+ ></el-input>
+ </el-form-item>
+ </el-form>
+ <span slot="footer" class="dialog-footer">
+ <el-button type="primary" class="btns" @click="AddelementManagement()"
+ >确 定</el-button
+ >
+ <el-button @click="dialogVisible = false">取 消</el-button>
+ </span>
+ </el-dialog>
+ </div>
+</template>
+<script>
+import {
+ elementManagementList,
+ elementManagementAdd,
+ elementManagementMod,
+ elementManagementDel,
+ getParentElement
+} from "@/api/elementManagement.js";
+export default {
+ data() {
+ return {
+ dialogVisible: false,
+ title: "",
+ form: {
+ name: "",
+ type: "",
+ parentId: "",
+ point:"",
+ remark: "",
+ },
+ pageSize: 10,
+ recordTotal: 0,
+ currentPage: 1,
+ list: [],
+ listQuery: {
+ filter: {
+ name: "",
+ },
+ pageIndex: 1,
+ pageSize: 10,
+ },
+ options: [
+ {
+ value: 0,
+ label: "A级要素",
+ },
+ {
+ value: 1,
+ label: "B级要素",
+ },
+ ],
+ parent: [],
+ rules: {
+ name: [
+ { required: true, message: "要素名称不能为空", trigger: "change" },
+ ],
+ type: [
+ { required: true, message: "级别不能为空", trigger: "change" },
+ ],
+ parentId: [
+ { required: true, message: "父要素不能为空", trigger: "change" },
+ ],
+ point: [
+ { required: true, message: "得分不能为空", trigger: "change" },
+ ],
+ },
+ };
+ },
+ created() {
+ this.elementManagementL();
+ },
+ methods: {
+ async elementManagementL() {
+ var res = await elementManagementList(this.listQuery);
+ console.log(res);
+ if (res.data.code == 200) {
+ this.list = res.data.result.records;
+ this.recordTotal = res.data.result.total
+ this.pageSize=res.data.result.size;
+ this.currentPage = res.data.result.current
+ }
+ },
+ handleClick(value, type) {
+ this.dialogVisible = true;
+ this.$nextTick(() => {
+ this.$refs["form"].clearValidate();
+ });
+ getParentElement().then(res=>{
+ // console.log('父类:',res)
+ this.parent=res.data.result
+ })
+ if (type == "新增") {
+ this.title = "新增";
+ this.form = {
+ name: "",
+ type: "",
+ parentId: "",
+ remark: "",
+ };
+ } else {
+ this.title = "编辑";
+ this.form = value;
+ }
+ },
+ AddelementManagement() {
+ this.$refs["form"].validate((valid) => {
+ if (valid) {
+ if (this.title == "新增") {
+ if(this.form.type==0){
+ this.form.parentId=''
+ elementManagementAdd(this.form).then((res) => {
+ if (res.data.code == 200) {
+ this.dialogVisible = false;
+ this.elementManagementL();
+ this.$notify({
+ type: "success",
+ duration: 2000,
+ message: "新增成功",
+ title: "成功",
+ });
+ } else {
+ this.$message({
+ type: "warning",
+ message: res.data.message,
+ });
+ }
+ });
+ }else{
+ elementManagementAdd(this.form).then((res) => {
+ if (res.data.code == 200) {
+ this.dialogVisible = false;
+ this.elementManagementL();
+ this.$notify({
+ type: "success",
+ duration: 2000,
+ message: "新增成功",
+ title: "成功",
+ });
+ } else {
+ this.$message({
+ type: "warning",
+ message: res.data.message,
+ });
+ }
+ });
+ }
+ } else {
+ elementManagementMod(this.form).then((res) => {
+ if (res.data.code == 200) {
+ this.dialogVisible = false;
+ this.elementManagementL();
+ this.$notify({
+ type: "success",
+ duration: 2000,
+ message: "编辑成功",
+ title: "成功",
+ });
+ } else {
+ this.$message({
+ type: "warning",
+ message: res.data.message,
+ });
+ }
+ });
+ }
+ }
+ });
+ },
+ deleteById(val) {
+ elementManagementDel({id:val}).then((res) => {
+ if (res.data.code == 200) {
+ this.elementManagementL();
+ this.$notify({
+ title: "成功",
+ message: "删除成功",
+ type: "success",
+ duration: 2000,
+ });
+ }
+ });
+ },
+ find(){
+ this.elementManagementL();
+ },
+ handleSizeChange(val){
+ this.listQuery.pageSize = val
+ this.elementManagementL();
+ },
+ handleCurrentChange(val){
+ this.listQuery.pageIndex = val
+ this.elementManagementL();
+ },
+ },
+};
+</script>
+<style scoped>
+.btns {
+ background-color: #034ea2;
+ border: 1px solid #034ea2;
+}
+</style>
\ No newline at end of file
--
Gitblit v1.9.2