useControl.ts 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. import { message } from 'ant-design-vue';
  2. import { get } from 'lodash-es';
  3. import { ref } from 'vue';
  4. import { submitEdit, subList, updatePassword, validPassword, subList2 } from '../balancePress.api';
  5. export function usePressControl() {
  6. /** 参数与设置、风机风门联动表单数据 */
  7. const formData = ref({
  8. /** 风机风门联动的自动调控 */
  9. isAuto: false,
  10. /** 参数与设置的自动调控 */
  11. isAutoControl: false,
  12. });
  13. /** 参数与设置、风机风门联动的数据 */
  14. const avePressLinkage = ref<any>({ isAuto: false });
  15. const avePressSetting = ref<any>({ isAutoControl: false });
  16. /** 获取 参数与设置、风机风门联动 的数据 */
  17. function getAvePress() {
  18. return Promise.all([
  19. subList2({
  20. strType: 'sdg_fan_sys_gate',
  21. }),
  22. subList({
  23. strType: 'sdg_gas_monitor',
  24. }),
  25. ]).then(([linkageData, settingData]) => {
  26. avePressLinkage.value = get(linkageData, '[0]', {});
  27. avePressSetting.value = get(settingData, 'records.[0]', {});
  28. });
  29. }
  30. function changePassword({ password, oldpassword }) {
  31. return updatePassword({
  32. id: avePressLinkage.value.id,
  33. newPassword: password,
  34. oldPassword: oldpassword,
  35. })
  36. .then(() => {
  37. message.success('操作成功');
  38. })
  39. .catch((e) => {
  40. message.error(e);
  41. })
  42. .finally(() => {
  43. getAvePress();
  44. });
  45. }
  46. function linkageControl({ password }, formData) {
  47. return validPassword({
  48. id: avePressLinkage.value.id,
  49. password,
  50. })
  51. .then(() => {
  52. return submitEdit({
  53. id: avePressLinkage.value.id,
  54. ...formData,
  55. })
  56. .then(() => {
  57. message.success('操作成功');
  58. })
  59. .catch(() => {
  60. message.error('操作失败');
  61. });
  62. })
  63. .catch((e) => {
  64. message.error(e);
  65. })
  66. .finally(() => {
  67. getAvePress();
  68. });
  69. }
  70. function settingControl({ password }, formData) {
  71. return validPassword({
  72. id: avePressSetting.value.id,
  73. password,
  74. })
  75. .then(() => {
  76. return submitEdit({
  77. id: avePressSetting.value.id,
  78. ...formData,
  79. })
  80. .then(() => {
  81. message.success('操作成功');
  82. })
  83. .catch(() => {
  84. message.error('操作失败');
  85. });
  86. })
  87. .catch((e) => {
  88. message.error(e);
  89. })
  90. .finally(() => {
  91. getAvePress();
  92. });
  93. }
  94. return {
  95. settingControl,
  96. linkageControl,
  97. changePassword,
  98. getAvePress,
  99. avePressLinkage,
  100. avePressSetting,
  101. formData,
  102. };
  103. }