zhgdyun/src/views/projectFront/safeSame/subdivisionalWorks.vue
2024-04-29 23:56:15 +08:00

259 lines
6.8 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<!-- 分部分项工程 -->
<div class="fullHeight">
<div>
<div class="searchBox whiteBlock">
<el-form
:inline="true"
size="medium"
class="demo-form-inline"
>
<el-form-item>
<el-button
class="expintBtn"
size="medium"
type="primary"
@click="addBefore(1)"
>
新增
</el-button>
</el-form-item>
</el-form>
</div>
<div class="table_wrap whiteBlock">
<vue-scroll>
<el-table
class="tables"
:data="listData"
lazy
row-key="id"
default-expand-all
:tree-props="{ children: 'children' }"
>
<el-table-column
width="400"
prop="subdivisionProjectName"
label="工程名称"
>
</el-table-column>
<el-table-column align="center" prop="createDate" label="创建日期">
</el-table-column>
<el-table-column align="center" prop="updateDate" label="更新日期">
</el-table-column>
<el-table-column width="200" label="操作" align="center">
<template slot-scope="scope">
<el-button
@click.native.stop="editBefore(scope.row)"
type="text"
>
<i class="el-icon-edit"></i>编辑
</el-button>
<el-button
@click.native.stop="addBefore(scope.row)"
type="text"
v-if="scope.row.parentId == 0"
>
<i class="el-icon-edit"></i>新增
</el-button>
<el-button
class="delete-btn"
@click.native.stop="deleteBefore(scope.row.id)"
type="text"
>
<i class="el-icon-delete"></i>删除
</el-button>
</template>
</el-table-column>
</el-table>
</vue-scroll>
</div>
<el-dialog
:modal-append-to-body="false"
:title="title"
:visible.sync="dialogVisible"
width="667px"
>
<div class="dialog_content">
<el-form
ref="addEditForm"
label-width="140px"
size="medium"
class="dialogFormBox"
:rules="addEditRules"
:model="workerInfo"
>
<el-form-item label="工程名称" prop="subdivisionProjectName">
<el-input
v-model="workerInfo.subdivisionProjectName"
placeholder="请输入"
></el-input>
</el-form-item>
</el-form>
</div>
<div class="dialog-footer">
<el-button
class="cancleBtn"
@click="dialogVisible = false"
icon="el-icon-circle-close"
size="medium"
>取消
</el-button>
<el-button
type="primary"
icon="el-icon-circle-check"
@click="submitBtn"
size="medium"
>确定
</el-button>
</div>
</el-dialog>
</div>
</div>
</template>
<script>
import {
getSubdivisionProjectApi, //所有分部分项工程, 以父子节点形式呈现
addSubdivisionProjectApi,//新增
upSubdivisionProjectApi,//修改
delSubdivisionProjectApi,//删除
} from "@/assets/js/api/quality";
export default {
mounted() {},
data() {
return {
title: "",
projectSn: "",
dialogVisible: false, //新增弹窗
workerInfo: {
subdivisionProjectName: "",
children:[],
id:"",
level:0,
parentId:""
},
listData:[],
addEditRules: {
subdivisionProjectName: [
{
required: true,
message: this.$t("message.personnelPosition.required"),
trigger: "blur",
},
],
},
dialogImageUrl: "",
showBigImg: false,
};
},
created() {
this.projectSn = this.$store.state.projectSn;
this.getProgressListData();
},
methods: {
//新增一级按钮
addBefore(val) {
this.workerInfo.subdivisionProjectName=''
if(val != 1) {
console.log("这是个添加二级操作 +",val);
this.workerInfo.parentId = val.id
}
this.dialogVisible = true;
this.title = "新增工程名称";
setTimeout(() => {
this.$refs.addEditForm.clearValidate();
}, 300);
},
//删除按钮
deleteBefore(val) {
this.$confirm("此操作将永久删除, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
delSubdivisionProjectApi({ id: val}).then((res) => {
this.$message({
type: "success",
message: "删除成功!",
});
this.getProgressListData();
});
})
.catch(() => {
this.$message({
type: "info",
message: "已取消删除",
});
});
},
//获取列表数据
getProgressListData() {
let data = {
projectSn: this.projectSn,
};
getSubdivisionProjectApi(data).then((res) => {
if (res.code == 200) {
console.log("获取到的列表", res);
this.listData = res.result;
}
});
},
// 编辑按钮
editBefore(val) {
console.log("编辑 ", val);
this.title = "编辑工程名称";
this.workerInfo = JSON.parse(JSON.stringify(val));
this.dialogVisible = true;
},
//新增/编辑
submitBtn() {
this.workerInfo.projectSn = this.projectSn
this.$refs.addEditForm.validate((valid) => {
if (valid) {
if(this.title=='新增工程名称'){
addSubdivisionProjectApi(this.workerInfo).then(res=>{
this.$message.success("新增成功");
this.dialogVisible = false
this.getProgressListData();
})
}else{
upSubdivisionProjectApi(this.workerInfo).then(res=>{
this.$message.success("编辑成功");
this.dialogVisible = false
this.getProgressListData();
})
}
} else {
return false;
}
});
this.workerInfo = {
subdivisionProjectName: "",
children:[],
id:"",
level:0,
parentId:""
};
},
},
};
</script>
<style lang="less" scoped>
.down {
text-decoration: none;
color: #fff;
}
.expintBtn {
display: inline-block !important;
margin-right: 10px;
}
.table_wrap {
height: 800px;
overflow: auto;
margin-top: -15px;
}
</style>