useControl.ts 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  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. const gateLinkage = ref<any>({ isAuto: false });
  18. /** 获取 参数与设置、风机风门联动 的数据 */
  19. function getAvePress() {
  20. return Promise.all([
  21. subList2({
  22. strType: 'sdg_fan_sys_gate',
  23. }),
  24. subList2({
  25. strType: 'sdg_gate_to_gate',
  26. }),
  27. // subList({
  28. // strType: 'sdg_gas_monitor',
  29. // }),
  30. subList({
  31. strType: 'sdg_pressure_to_window',
  32. }),
  33. ]).then(([linkageData, gateData, settingData]) => {
  34. avePressLinkage.value = get(linkageData, '[0]', {});
  35. gateLinkage.value = get(gateData, '[0]', {});
  36. avePressSetting.value = get(settingData, 'records.[0]', {});
  37. });
  38. }
  39. function changePassword({ password, oldpassword, id }) {
  40. return updatePassword({
  41. id,
  42. newPassword: password,
  43. oldPassword: oldpassword,
  44. })
  45. .then(() => {
  46. message.success('操作成功');
  47. })
  48. .catch((e) => {
  49. message.error(e);
  50. })
  51. .finally(() => {
  52. getAvePress();
  53. });
  54. }
  55. function linkageControl({ password, id }, formData) {
  56. return validPassword({
  57. id,
  58. password,
  59. })
  60. .then(() => {
  61. return submitEdit({
  62. id,
  63. ...formData,
  64. })
  65. .then(() => {
  66. message.success('操作成功');
  67. })
  68. .catch(() => {
  69. message.error('操作失败');
  70. });
  71. })
  72. .catch((e) => {
  73. message.error(e);
  74. })
  75. .finally(() => {
  76. getAvePress();
  77. });
  78. }
  79. function settingControl({ password, id }, formData) {
  80. return validPassword({
  81. id,
  82. password,
  83. })
  84. .then(() => {
  85. return submitEdit({
  86. id,
  87. ...formData,
  88. })
  89. .then(() => {
  90. message.success('操作成功');
  91. })
  92. .catch(() => {
  93. message.error('操作失败');
  94. });
  95. })
  96. .catch((e) => {
  97. message.error(e);
  98. })
  99. .finally(() => {
  100. getAvePress();
  101. });
  102. }
  103. return {
  104. settingControl,
  105. linkageControl,
  106. changePassword,
  107. getAvePress,
  108. avePressLinkage,
  109. avePressSetting,
  110. gateLinkage,
  111. formData,
  112. };
  113. }