QSForm.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import Msg from './Msg.js';
  2. class QSForm {
  3. constructor() {
  4. this.formObj = {};
  5. }
  6. set(obj) {
  7. const {
  8. name,
  9. variableName,
  10. value,
  11. type,
  12. required,
  13. verifyFc,
  14. verifyType
  15. } = obj;
  16. if (!name) return;
  17. if (!this.formObj[name]) this.formObj[name] = {};
  18. if (!variableName) return;
  19. this.formObj[name][variableName] = {...obj};
  20. }
  21. del(obj) {
  22. const {
  23. name,
  24. variableName
  25. } = obj;
  26. if (!name || !variableName) return;
  27. if (this.formObj[name] !== undefined && this.formObj[name] && this.formObj[name][variableName] !==undefined)
  28. delete this.formObj[name][variableName];
  29. if(this.formObj[name]&&Object.keys(this.formObj[name]).length===0)
  30. delete this.formObj[name];
  31. }
  32. get(obj) {
  33. const {
  34. name
  35. } = obj;
  36. if (!name) return Promise.reject({
  37. s: 3,
  38. c: 101
  39. });
  40. if (this.formObj[name] !== undefined) {
  41. const dataObj = { ...this.formObj[name]
  42. };
  43. return Msg({
  44. s: 1,
  45. v: dataObj
  46. });
  47. } else {
  48. return Msg({
  49. s: 3,
  50. c: 101
  51. });
  52. }
  53. }
  54. }
  55. if (!QSFormObj) var QSFormObj = new QSForm();
  56. export default QSFormObj;