| | |
| | | v-model="state.isShowUserDialog" |
| | | width="600px" |
| | | > |
| | | <el-form :model="state.areaForm" size="default" ref="areaRef" :rules="state.areaFormRules" label-width="110px"> |
| | | <el-form :model="state.areaForm" size="default" ref="areaRef" :rules="state.title == '查看区域' ? '' :state.areaFormRules" label-width="110px"> |
| | | <el-form-item label="区域名称:" prop="areaName"> |
| | | <el-input v-model.trim="state.areaForm.areaName" :disabled="state.disabled" ></el-input> |
| | | </el-form-item> |
| | |
| | | import {reactive, ref} from "vue"; |
| | | import { AreaState } from "/@/types/areaManage"; |
| | | import lngDialog from "./lngDialog.vue"; |
| | | import {areaManageApi} from "/@/api/basicDataManage/areaManage"; |
| | | import {ElMessage} from "element-plus/es"; |
| | | |
| | | const areaRef = ref(); |
| | | const lngRef = ref(); |
| | |
| | | title: '', |
| | | isShowUserDialog: false, |
| | | areaForm: { |
| | | id: '', |
| | | areaName: '', |
| | | areaLngLat: [], |
| | | areaColor: '', |
| | |
| | | }); |
| | | const openDialog = (type: string, value: any) => { |
| | | state.isShowUserDialog = true; |
| | | reset(); |
| | | if (type === '新增') { |
| | | state.disabled = false; |
| | | state.title = '新增区域'; |
| | |
| | | state.areaForm = JSON.parse(JSON.stringify(value)); |
| | | } |
| | | }; |
| | | const onSubmit = () => { |
| | | const onSubmit = async () => { |
| | | if(state.title == '新增区域' || state.title == '修改区域') { |
| | | const valid = areaRef.value.validate(); |
| | | if(valid){ |
| | | if(state.title == '新增区域'){ |
| | | const param = { |
| | | name: state.areaForm.areaName, |
| | | color: state.areaForm.areaColor, |
| | | regionLngLats: state.areaForm.areaLngLat.map(item => { |
| | | return { |
| | | lng: item.lng, |
| | | lat: item.lat |
| | | } |
| | | }) |
| | | } |
| | | let res = await areaManageApi().addArea(param); |
| | | if(res.data.code == 100) { |
| | | ElMessage({ |
| | | type: 'success', |
| | | message: '新增成功' |
| | | }); |
| | | }else { |
| | | ElMessage({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | }); |
| | | } |
| | | }else if(state.title == '修改区域'){ |
| | | const param = { |
| | | id: state.areaForm.id, |
| | | name: state.areaForm.areaName, |
| | | color: state.areaForm.areaColor, |
| | | regionLngLats: state.areaForm.areaLngLat.map(item => { |
| | | return { |
| | | lng: item.lng, |
| | | lat: item.lat |
| | | } |
| | | }) |
| | | } |
| | | let res = await areaManageApi().editArea(param); |
| | | if(res.data.code == 100) { |
| | | ElMessage({ |
| | | type: 'success', |
| | | message: '修改成功' |
| | | }); |
| | | }else { |
| | | ElMessage({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | console.log("form",state.areaForm) |
| | | areaRef.value.clearValidate(); |
| | | state.isShowUserDialog = false; |
| | |
| | | } |
| | | const reset = () => { |
| | | state.areaForm = { |
| | | id: '', |
| | | areaName: '', |
| | | areaLngLat: [], |
| | | areaColor: '', |