259 lines
6.8 KiB
Vue
259 lines
6.8 KiB
Vue
|
|
<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>
|
|||
|
|
|