import { message } from 'ant-design-vue'; import { get } from 'lodash-es'; import { ref } from 'vue'; import { submitEdit, subList, updatePassword, validPassword } from '../balancePress.api'; export function usePressControl() { /** 参数与设置、风机风门联动表单数据 */ const formData = ref({ /** 风机风门联动的自动调控 */ isAuto: false, /** 参数与设置的自动调控 */ isAutoControl: false, }); /** 参数与设置、风机风门联动的数据 */ const avePressLinkage = ref({ isAuto: false }); const avePressSetting = ref({ isAutoControl: false }); /** 获取 参数与设置、风机风门联动 的数据 */ function getAvePress() { return Promise.all([ subList({ strType: 'sdg_fan_sys_gate', }), subList({ strType: 'sdg_gas_monitor', }), ]).then(([linkageData, settingData]) => { avePressLinkage.value = get(linkageData, 'records.[0]', {}); avePressSetting.value = get(settingData, 'records.[0]', {}); }); } function changePassword({ password, oldpassword }) { return updatePassword({ id: avePressLinkage.value.id, newPassword: password, oldPassword: oldpassword, }) .then(() => { message.success('操作成功'); }) .catch((e) => { message.error(e); }) .finally(() => { getAvePress(); }); } function linkageControl({ password }, formData) { return validPassword({ id: avePressLinkage.value.id, password, }) .then(() => { return submitEdit({ id: avePressLinkage.value.id, ...formData, }) .then(() => { message.success('操作成功'); }) .catch(() => { message.error('操作失败'); }); }) .catch((e) => { message.error(e); }) .finally(() => { getAvePress(); }); } function settingControl({ password }, formData) { return validPassword({ id: avePressSetting.value.id, password, }) .then(() => { return submitEdit({ id: avePressSetting.value.id, ...formData, }) .then(() => { message.success('操作成功'); }) .catch(() => { message.error('操作失败'); }); }) .catch((e) => { message.error(e); }) .finally(() => { getAvePress(); }); } return { settingControl, linkageControl, changePassword, getAvePress, avePressLinkage, avePressSetting, formData, }; }