Commit 8df5c7fb authored by xuke's avatar xuke

完善-能源消耗

parent 8ea21256
...@@ -7,6 +7,7 @@ import { ...@@ -7,6 +7,7 @@ import {
postEnergyManage, postEnergyManage,
postEnergyDel, postEnergyDel,
postEnergyUpdate, postEnergyUpdate,
getOrganizationStructureInterface
} from "@/api/scheduling"; } from "@/api/scheduling";
import http from "../../api/http"; import http from "../../api/http";
import loading from "element-plus"; import loading from "element-plus";
...@@ -14,6 +15,7 @@ import store from "../../store"; ...@@ -14,6 +15,7 @@ import store from "../../store";
import { vFloatNumber } from "@/utils/directives.js"; import { vFloatNumber } from "@/utils/directives.js";
const { proxy } = getCurrentInstance(); const { proxy } = getCurrentInstance();
const tableData = ref([{}]); const tableData = ref([{}]);
// 获取渲染
const formEnergy = ref({ const formEnergy = ref({
"updateNullFields": "", "updateNullFields": "",
"supplyId": "", "supplyId": "",
...@@ -22,19 +24,32 @@ const formEnergy = ref({ ...@@ -22,19 +24,32 @@ const formEnergy = ref({
"recordDate": "", "recordDate": "",
"energyName": '' "energyName": ''
}) })
// 获取 energyId
const reset = () => {
formEnergy.value = {
"updateNullFields": "",
"supplyId": "",
"energyType": "",
"record": "",
"recordDate": "",
"energyName": ''
}
}
const energyForm = ref() const energyForm = ref()
const dialogVisible = ref(false) const dialogVisible = ref(false)
const getEnergyData = async () => { const getEnergyData = () => {
await http http.post("/api/energy/getData", config.supplyType).then((res) => {
.post("/api/energy/getData", config.supplyType) if (res.success) {
.then((res) => {
// console.log("res:", res);
tableData.value = res.data; tableData.value = res.data;
}) ElMessage.success(res.message);
} else {
ElMessage.error("系统繁忙, 请稍后再试")
}
})
.catch((err) => { .catch((err) => {
console.log(error); console.log(error);
}); });
ElMessage.success("获取数据成功");
}; };
const tableLabel = reactive([ const tableLabel = reactive([
...@@ -97,89 +112,91 @@ const rules = reactive({ ...@@ -97,89 +112,91 @@ const rules = reactive({
energyType: [ energyType: [
{ required: true, message: "能源类型是必填项", trigger: "blur" }, { required: true, message: "能源类型是必填项", trigger: "blur" },
], ],
record: [{ required: true, message: "能源用度是必选项", trigger: "change" }], record: [{ required: true, message: "能源用度是必选项", trigger: "blur" }],
recordDate: [{ required: true, message: "日期是必选项" }], recordDate: [{ required: true, message: "日期是必选项" }],
}); });
// 删除 // 删除
const handleDelete = async (row) => { const handleDelete = (row) => {
console.log(row.energyId); console.log(row.energyId);
console.log('"' + row.energyId + '"');
let EnergyId = row.energyId; let EnergyId = row.energyId;
await ElMessageBox.confirm("你确定要删除吗?", { ElMessageBox.confirm("你确定要删除吗?", {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning', type: 'warning',
confirmButtonClass: 'ExitConfirmButton' confirmButtonClass: 'ExitConfirmButton'
}) })
const res = await http.post("api/energy/Delete", { id: row.energyId }, false) http.post("api/energy/Delete", { id: row.energyId }, false).then(res => {
if (res.success) { if (res.success) {
ElMessage.success("删除成功"); ElMessage.success(res.message)
getEnergyData(); getEnergyData();
} else { } else {
ElMessage.error("删除失败"); ElMessage.error("删除失败");
} }
})
}; };
// 新增 // 新增
const action = ref('add') const action = ref('add')
const handleClose = () => { const handleClose = () => {
dialogVisible.value = false dialogVisible.value = false
proxy.$ref['energyForm'].resetFields() reset()
} }
const handleCancel = () => { const handleCancel = () => {
dialogVisible.value = false dialogVisible.value = false
proxy.$ref['energyForm'].resetFields()
} }
const handleAdd = () => { const handleAdd = () => {
action.value = "add", action.value = "add",
dialogVisible.value = true; dialogVisible.value = true;
proxy.$refs['energyForm'].resetFields() reset()
formEnergy.supplyType = '',
formEnergy.energyType = ''
} }
const handleEdit = (val) => { const handleEdit = (val) => {
// console.log("supplyData===>", supplyData.value);
supplyData.value.forEach((item) => {
if (item.supplyName === val.supplyName) {
val.supplyId = item.supplyId
}
})
console.log("一行的数据val===>", val);
action.value = "edit"; action.value = "edit";
dialogVisible.value = true; dialogVisible.value = true;
nextTick(() => { // nextTick(() => {
Object.assign(formEnergy.value, { ...val }); // Object.assign(formEnergy.value, { ...val });
console.log("val:", val); // console.log("val:", val);
}); // });
formEnergy.value = { ...val }
}; };
const onSubmit = (formEl) => { const onSubmit = () => {
energyForm.value.validate(async (valid) => { loading.value = true
energyForm.value.validate((valid) => {
if (valid) { if (valid) {
let res = null; let res = null;
formEnergy.recordDate = /^\d{4}-\d{2}-\d{2}$/.test(formEnergy.recordDate) formEnergy.recordDate = /^\d{4}-\d{2}-\d{2}$/.test(formEnergy.recordDate)
? formEnergy.recordDate ? formEnergy.recordDate
: timeFormat(formEnergy.recordDate); : timeFormat(formEnergy.recordDate);
if (action.value === "add") { if (action.value === "add") {
await http http.post("api/energy/Save", { ...formEnergy.value }, false).then(res => {
.post("api/energy/Save", { ...formEnergy.value }, false) if (res.success) {
.then((res) => { }) dialogVisible.value = false
.then((res) => { // ElMessage.success(res.message)
ElMessage({
type: "success",
message: "新增成功",
});
getEnergyData(); getEnergyData();
}); loading.value = false
if (res) { }
dialogVisible.value = false; })
getEnergyData();
if (!formEl) return;
formEl.resetFields();
}
} else { } else {
res = postEnergyUpdate(formEnergy.value); delete formEnergy.value.supplyName;
if (!formEl) return; formEnergy.value.updateNullFields = "";
formEl.resetFields(); http.post("api/energy/Save", { ...formEnergy.value }, false).then((res => {
dialogVisible.value = false; if (res.success) {
formEnergy.value.supplyId = ""; dialogVisible.value = false
formEnergy.energyType = ""; // ElMessage.success(res.message)
getEnergyData(); getEnergyData();
loading.value = false
}
}))
} }
} else { } else {
ElMessage({ ElMessage({
...@@ -192,7 +209,6 @@ const onSubmit = (formEl) => { ...@@ -192,7 +209,6 @@ const onSubmit = (formEl) => {
}; };
const props = { multiple: false, emitPath: false, checkStrictly: true }; const props = { multiple: false, emitPath: false, checkStrictly: true };
const enterpriseId = ref(); const enterpriseId = ref();
let supplyIdOptions = reactive([]);
getEnterprise(); getEnterprise();
function getEnterprise() { function getEnterprise() {
var result = store.getters.getEnterprise(); var result = store.getters.getEnterprise();
...@@ -208,49 +224,32 @@ const PatrolInfo = reactive({ ...@@ -208,49 +224,32 @@ const PatrolInfo = reactive({
count: 30, count: 30,
sort: "", sort: "",
}); });
const options = reactive([]);
const getSupplys = () => { const organizationStructure = ref([]) // 组织结构数据
loading.value = true; const supplyData = ref([]) // 供热站数据
options.length = 0; function getSupply() {
PatrolInfo.Id.length = 0; organizationStructure.value[0].serviceCenterList.forEach(fir_item => {
var result = store.getters.getEnterprise(); fir_item.supplyList.forEach(sec_item => {
if (result) { supplyData.value.push({
result.forEach((element) => { supplyId: sec_item.supplyId,
if (element.enterpriseId === enterpriseId.value) { supplyName: sec_item.supplyName
if ( })
element.enterpriseId === })
"9BCA54BC-8F27-4849-8D7D-50C5099E1949".toLowerCase() })
) { }
element.serviceCenterList.forEach((center) => { // 根据组织结构获取供热站数据
let c = []; function getOrganizationStructure() {
center.supplyList.forEach((supply) => { getOrganizationStructureInterface().then(res => {
let chi = []; organizationStructure.value = res.data
supply.transferList.forEach(unit => { getSupply()
}); // getAllTransfer()
c.push({ }).catch(err => {
children: chi, ElMessage.error('接口异常,获取数据失败.')
label: supply.supplyName, })
value: supply.supplyId,
});
});
options.push({ children: c, label: center.serviceCenterName });
});
} else {
element.supplyList.forEach((element) => {
let chi = [];
element.transferList.forEach((unit) => {
chi.push({ value: unit.unitId, label: unit.unitName });
});
options.push({ children: chi, label: element.supplyName });
});
}
}
});
}
} }
onMounted(() => { onMounted(() => {
getOrganizationStructure()
getEnergyData() getEnergyData()
getSupplys()
}) })
</script> </script>
...@@ -318,13 +317,12 @@ onMounted(() => { ...@@ -318,13 +317,12 @@ onMounted(() => {
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td style="text-align: left"> <td style="text-align: left">
<!-- <el-select v-model="formEnergy.supplyId" placeholder="请选择">
<el-option label="东部供热站" value="DFA20074-8731-457F-B63F-4E1858CFE266" />
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
</el-select> -->
<el-form-item prop="supplyName" style="margin: 0; padding: 0; width: 100%"> <el-form-item prop="supplyName" style="margin: 0; padding: 0; width: 100%">
<el-cascader :options="options" v-model="formEnergy.supplyId" :props="props" collapse-tags clearable <el-select v-model="formEnergy.supplyId" placeholder="" style="width: 210px;" class="custom-select"
:show-all-levels="false" placeholder="请选择" class="el-cascader-menu" /> size="small">
<el-option v-for="item in supplyData" :key="item.supplyId" :label="item.supplyName"
:value="item.supplyId" />
</el-select>
</el-form-item> </el-form-item>
</td> </td>
</tr> </tr>
...@@ -383,7 +381,7 @@ onMounted(() => { ...@@ -383,7 +381,7 @@ onMounted(() => {
</table> </table>
<div class="dialog-footer"> <div class="dialog-footer">
<el-button type="primary" @click="handleCancel(energyForm)">关闭</el-button> <el-button type="primary" @click="handleCancel(energyForm)">关闭</el-button>
<el-button type="primary" @click="onSubmit(energyForm)">保存</el-button> <el-button type="primary" @click="onSubmit()">保存</el-button>
</div> </div>
</el-form> </el-form>
</el-dialog> </el-dialog>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment