232 lines
6.6 KiB
Vue
232 lines
6.6 KiB
Vue
<!-- 新增巡检 -->
|
|
<template >
|
|
<div class="addCheck whiteBlock">
|
|
<div class="form_wrap">
|
|
<el-form
|
|
:model="ruleForm"
|
|
size="medium"
|
|
:rules="rules"
|
|
ref="ruleForm"
|
|
label-width="100px"
|
|
class="demo-ruleForm"
|
|
>
|
|
<!-- 检查内容 -->
|
|
<el-form-item :label="$t('message.projectManage.checkedContent')" prop="inspectContent">
|
|
<el-input
|
|
type="textarea"
|
|
:rows="6"
|
|
:placeholder="$t('message.projectManage.placeholder')+$t('message.projectManage.checkedContent')"
|
|
v-model="ruleForm.inspectContent"
|
|
></el-input>
|
|
</el-form-item>
|
|
<!-- 检查位置 -->
|
|
<el-form-item :label="$t('message.projectManage.checkedLocation')" prop="inspectPlace">
|
|
<el-input v-model="ruleForm.inspectPlace"></el-input>
|
|
</el-form-item>
|
|
<!-- 整改时间 -->
|
|
<el-form-item :label="$t('message.projectManage.rectificationEndTime')" prop="rectificationEndDate">
|
|
<el-date-picker v-model="ruleForm.rectificationEndDate" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"></el-date-picker>
|
|
</el-form-item>
|
|
<!-- 附件 -->
|
|
<el-form-item :label="$t('message.projectManage.accessory')" prop="imgUrl">
|
|
<el-upload
|
|
:action="uploadUrl"
|
|
list-type="picture-card"
|
|
:on-preview="handlePictureCardPreview"
|
|
name="files"
|
|
:on-remove="handleRemove"
|
|
:on-success="handleSuccess"
|
|
:limit="5"
|
|
ref="upload"
|
|
>
|
|
<i class="el-icon-plus"></i>
|
|
</el-upload>
|
|
</el-form-item>
|
|
<!-- 是否需要整改 -->
|
|
<el-form-item :label="$t('message.projectManage.isNeedChange')" prop="isRectify">
|
|
<el-switch v-model="ruleForm.isRectify" active-color="#13ce66" inactive-color="#EAECF0"></el-switch>
|
|
</el-form-item>
|
|
<!-- 整改人 -->
|
|
<el-form-item
|
|
:label="$t('message.projectManage.changePeople')"
|
|
v-if="ruleForm.isRectify"
|
|
prop="rectifyPeople"
|
|
>
|
|
<!-- 请选择 -->
|
|
<el-select
|
|
v-model="ruleForm.rectifyPeople"
|
|
filterable
|
|
:placeholder="$t('message.projectManage.pleaseChoose')"
|
|
style="width: 100%"
|
|
clearable
|
|
>
|
|
<el-option
|
|
v-for="item in options"
|
|
:key="item.userId"
|
|
:label="item.workerName"
|
|
:value="item.userId"
|
|
></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-button type="primary" style="width: 100px" @click="saveBtn">
|
|
<!-- 保存 -->
|
|
{{$t('message.projectManage.save')}}
|
|
</el-button>
|
|
</el-form-item>
|
|
</el-form>
|
|
</div>
|
|
<!-- 大图 -->
|
|
<el-dialog :modal-append-to-body="false" :visible.sync="dialogVisible">
|
|
<img width="100%" :src="dialogImageUrl" alt />
|
|
</el-dialog>
|
|
</div>
|
|
</template>
|
|
<script>
|
|
import {
|
|
getCrewListDataApi,
|
|
addCheckListDataApi
|
|
} from "@/assets/js/api/dailyCheck";
|
|
export default {
|
|
data() {
|
|
return {
|
|
projectSn: "",
|
|
userInfo: "",
|
|
uploadUrl: "",
|
|
fileUrl: "",
|
|
ruleForm: {
|
|
isRectify: true,
|
|
inspectContent: "",
|
|
imgUrl: "",
|
|
inspectPlace: "",
|
|
inspector: "",
|
|
rectifyPeople: "",
|
|
rectificationEndDate:"",//整改结束时间
|
|
},
|
|
rules: {
|
|
inspectContent: [
|
|
{
|
|
required: true,
|
|
message: this.$t("message.companyDiagram.required"),
|
|
trigger: "blur"
|
|
}
|
|
],
|
|
inspectPlace: [
|
|
{
|
|
required: true,
|
|
message: this.$t("message.companyDiagram.required"),
|
|
trigger: "blur"
|
|
}
|
|
],
|
|
rectificationEndDate:[
|
|
{
|
|
required:true,
|
|
message:'请选择整改结束时间',
|
|
trigger:"blur"
|
|
}
|
|
]
|
|
},
|
|
options: [],
|
|
dialogImageUrl: "",
|
|
dialogVisible: false,
|
|
fileList: []
|
|
};
|
|
},
|
|
created() {
|
|
this.projectSn = this.$store.state.projectSn;
|
|
this.userInfo = this.$store.state.userInfo;
|
|
this.uploadUrl = this.$store.state.UPLOADURL;
|
|
this.fileUrl = this.$store.state.FILEURL;
|
|
this.getCrewListData();
|
|
},
|
|
|
|
methods: {
|
|
//获取所有人员下拉
|
|
getCrewListData() {
|
|
let data = {
|
|
projectSn: this.projectSn
|
|
};
|
|
getCrewListDataApi(data).then(res => {
|
|
if (res.code == 200) {
|
|
this.options = res.result;
|
|
} else {
|
|
this.$message.error(res.message);
|
|
}
|
|
});
|
|
},
|
|
//上传成功
|
|
handleSuccess(file) {
|
|
let data = { name: file.data[0].filename, url: file.data[0].imageUrl };
|
|
this.fileList.push(data);
|
|
},
|
|
//删除附件
|
|
handleRemove(file) {
|
|
let imageUrl = file.response.data[0].imageUrl;
|
|
for (let i = 0; i < this.fileList.length; i++) {
|
|
if (this.fileList[i].url == imageUrl) {
|
|
this.fileList.splice(i, 1);
|
|
}
|
|
}
|
|
},
|
|
//保存按钮
|
|
saveBtn() {
|
|
this.$refs.ruleForm.validate(valid => {
|
|
if (valid) {
|
|
//深拷贝
|
|
let data = JSON.parse(JSON.stringify(this.ruleForm));
|
|
data.inspector = this.userInfo.userId;
|
|
data.imgUrl =
|
|
this.fileList.length > 0 ? JSON.stringify(this.fileList) : "";
|
|
data.isRectify = data.isRectify ? 0 : 1;
|
|
data.projectSn = this.projectSn;
|
|
addCheckListDataApi(data).then(res => {
|
|
if (res.code == 200) {
|
|
this.$message.success(
|
|
this.$t("message.projectManage.addSuccess")
|
|
); //新增成功
|
|
this.ruleForm = {
|
|
isRectify: true,
|
|
inspectContent: "",
|
|
imgUrl: "",
|
|
inspectPlace: "",
|
|
inspector: "",
|
|
rectifyPeople: "",
|
|
rectificationEndDate:"",
|
|
};
|
|
this.fileList = [];
|
|
this.$refs.upload.clearFiles();
|
|
} else {
|
|
this.$message.error(res.message);
|
|
}
|
|
});
|
|
} else {
|
|
return false;
|
|
}
|
|
});
|
|
},
|
|
|
|
//查看附件
|
|
handlePictureCardPreview(file) {
|
|
this.dialogImageUrl = file.url;
|
|
this.dialogVisible = true;
|
|
}
|
|
}
|
|
};
|
|
</script>
|
|
|
|
<style lang="less" scoped>
|
|
.flex {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
.addCheck {
|
|
width: 100%;
|
|
height: 100%;
|
|
padding: 50px 0 0;
|
|
box-sizing: border-box;
|
|
.form_wrap {
|
|
width: 40%;
|
|
margin: 0 auto;
|
|
}
|
|
}
|
|
</style> |