From 75f6a814525dfd3b19e359a3dfa3de3e9226f32d Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: Tue, 26 Nov 2024 15:08:46 +0800
Subject: [PATCH] 更新
---
src/views/safetyReview/projectManage/components/basicInfo.vue | 129 ++++++++++++++++++++++++++++++++----------
1 files changed, 98 insertions(+), 31 deletions(-)
diff --git a/src/views/safetyReview/projectManage/components/basicInfo.vue b/src/views/safetyReview/projectManage/components/basicInfo.vue
index 5f36145..ae1400d 100644
--- a/src/views/safetyReview/projectManage/components/basicInfo.vue
+++ b/src/views/safetyReview/projectManage/components/basicInfo.vue
@@ -22,7 +22,7 @@
</el-form-item>
</el-col>
<el-col :span="6">
- <el-form-item prop="projectName" label="项目预计时间区间">
+ <el-form-item prop="projectDateStart" label="项目预计时间区间">
<el-date-picker
v-model="searchTime"
type="daterange"
@@ -36,9 +36,9 @@
</el-form-item>
</el-col>
<el-col :span="6">
- <el-form-item prop="unit" label="被检查/对接单位">
+ <el-form-item prop="companyName" label="被检查/对接单位">
<el-input
- v-model.trim="state.formData.unit"
+ v-model.trim="state.formData.companyName"
size="large"
placeholder="请输入被检查/对接单位"
>
@@ -46,9 +46,9 @@
</el-form-item>
</el-col>
<el-col :span="6">
- <el-form-item prop="place" label="项目地点">
+ <el-form-item prop="projectAddress" label="项目地点">
<el-input
- v-model.trim="state.formData.place"
+ v-model.trim="state.formData.projectAddress"
size="large"
placeholder="请输入项目地点"
>
@@ -58,9 +58,9 @@
</el-row>
<el-row :gutter="24">
<el-col :span="6">
- <el-form-item prop="people" label="处室带队人员">
+ <el-form-item prop="deptUserName" label="处室带队人员">
<el-input
- v-model.trim="state.formData.projectName"
+ v-model.trim="state.formData.deptUserName"
size="large"
placeholder="请输入处室带队人员"
>
@@ -70,11 +70,11 @@
</el-row>
<el-row :gutter="24">
<el-col :span="24">
- <el-form-item prop="description" label="概况描述">
+ <el-form-item prop="remark" label="概况描述">
<el-input
type="textarea"
:rows="6"
- v-model.trim="state.formData.description"
+ v-model.trim="state.formData.remark"
size="large"
placeholder="请输入概况描述"
>
@@ -87,49 +87,116 @@
</template>
<script setup>
-import {reactive, ref} from "vue";
+import {onMounted, reactive, ref} from "vue";
+import Cookies from "js-cookie";
+import {addProject, getProjectInfo, getProjectList} from "@/api/projectManage";
+import {ElMessage} from "element-plus";
+const searchTime = ref([]);
const emit = defineEmits(["getNextStatus"]);
const state = reactive({
formData: {
- deptName:'危险化学品监督管理处',
+ id:null,
+ deptId: null,
+ deptName:'',
projectName: '',
- startTime: '',
- endTime: '',
- unit: '',
- place: '',
- people: '',
- description: ''
+ projectDateStart: '',
+ projectDateEnd: '',
+ companyName: '',
+ projectAddress: '',
+ deptUserName: '',
+ remark: ''
},
rules: {
-
+ projectName: [{ required: true, message: "项目名称不能为空", trigger: "blur" }],
+ projectDateStart: [{ required: true, message: "项目预计时间不能为空", trigger: "change" }],
+ projectAddress: [{ required: true, message: "项目地点不能为空", trigger: "blur" }],
+ deptUserName: [{ required: true, message: "处室带队人员不能为空", trigger: "blur" }],
+ remark: [{ required: true, message: "概况描述不能为空", trigger: "blur" }],
}
})
-const searchTime = ref([]);
+const formRef = ref();
+const userInfo = ref()
+onMounted(() => {
+ userInfo.value = JSON.parse(Cookies.get('userInfo'))
+ state.formData.deptName = userInfo.value.dept.deptName
+ state.formData.deptId = userInfo.value.deptId
+})
+
+
const riskOpen = async (type,val) => {
console.log("type",type,val)
+ let valid = null
+ if(type === 'add' || type === 'clickEdit'){
+ valid = await formRef.value.validate();
+ }
if(type === 'add'){
- state.formData.startTime = searchTime.value[0]
- state.formData.endTime = searchTime.value[1]
- //保存按钮
- //成功后自动到下一步 项目id
- emit('getNextStatus', 1);
- reset()
-
+ if(valid){
+ //保存按钮
+ const {id,...data} = state.formData
+ const res = await addProject(data);
+ if(res.code == 200){
+ ElMessage.success('新增成功')
+ emit('getNextStatus', res.data);
+ reset()
+ }else{
+ ElMessage.warning(res.message)
+ }
+ }
}else if(type === 'clickEdit'){
- //变更按钮
-
+ if(valid){
+ //变更按钮
+ const {...data} = state.formData
+ const res = await addProject(data);
+ if(res.code == 200){
+ ElMessage.success('修改成功')
+ }else{
+ ElMessage.warning(res.message)
+ }
+ }
}else if(type === 'detail'){
- console.log("view111111111111111",type,val)
+ const res = await getProjectInfo(val)
+ if(res.code == 200){
+ if(res.data) {
+ const val = res.data
+ for(let i in state.formData) {
+ if (validKey(i, val)) {
+ state.formData[i] = val[i]
+ }
+ }
+ searchTime.value = [res.data.projectDateStart,res.data.projectDateEnd]
+ }
+
+ }else{
+ ElMessage.warning(res.message)
+ }
}
}
+const validKey=(key,obj)=>{
+ return key in obj
+}
const reset = () => {
+ state.formData = {
+ id:null,
+ deptId: null,
+ deptName:'',
+ projectName: '',
+ projectDateStart: '',
+ projectDateEnd: '',
+ companyName: '',
+ projectAddress: '',
+ deptUserName: '',
+ remark: ''
+ }
searchTime.value = [];
}
const changeTime=(value)=>{
if(!value){
- state.formData.startTime = ""
- state.formData.endTime = ""
+ state.formData.projectDateStart = ""
+ state.formData.projectDateEnd = ""
+ }else {
+ state.formData.projectDateStart = searchTime.value[0]
+ state.formData.projectDateEnd = searchTime.value[1]
}
}
defineExpose({
--
Gitblit v1.9.2