audit.js 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. (function (vc) {
  2. vc.extends({
  3. propTypes: {
  4. callBackListener: vc.propTypes.string, //父组件名称
  5. callBackFunction: vc.propTypes.string //父组件监听方法
  6. },
  7. data: {
  8. auditInfo: {
  9. state: '',
  10. remark: ''
  11. }
  12. },
  13. watch: {
  14. "auditInfo.state": {//深度监听,可监听到对象、数组的变化
  15. handler(val, oldVal) {
  16. if (vc.notNull(val) && vc.component.auditInfo.state == '1100') {
  17. vc.component.auditInfo.remark = "同意";
  18. } else {
  19. vc.component.auditInfo.remark = "";
  20. }
  21. },
  22. deep: true
  23. }
  24. },
  25. _initMethod: function () {
  26. },
  27. _initEvent: function () {
  28. vc.on('audit', 'openAuditModal', function () {
  29. $('#auditModel').modal('show');
  30. });
  31. },
  32. methods: {
  33. auditValidate() {
  34. return vc.validate.validate({
  35. auditInfo: vc.component.auditInfo
  36. }, {
  37. 'auditInfo.state': [
  38. {
  39. limit: "required",
  40. param: "",
  41. errInfo: "审核状态不能为空"
  42. },
  43. {
  44. limit: "num",
  45. param: "",
  46. errInfo: "审核状态错误"
  47. },
  48. ],
  49. 'auditInfo.remark': [
  50. {
  51. limit: "required",
  52. param: "",
  53. errInfo: "原因内容不能为空"
  54. },
  55. {
  56. limit: "maxLength",
  57. param: "200",
  58. errInfo: "原因内容不能超过200"
  59. },
  60. ]
  61. });
  62. },
  63. _auditSubmit: function () {
  64. if (!vc.component.auditValidate()) {
  65. vc.message(vc.validate.errInfo);
  66. return;
  67. }
  68. //不提交数据将数据 回调给侦听处理
  69. if (vc.notNull($props.callBackListener)) {
  70. vc.emit($props.callBackListener, $props.callBackFunction, vc.component.auditInfo);
  71. $('#auditModel').modal('hide');
  72. vc.component.clearAddBasePrivilegeInfo();
  73. return;
  74. }
  75. },
  76. clearAddBasePrivilegeInfo: function () {
  77. vc.component.auditInfo = {
  78. state: '',
  79. remark: ''
  80. }
  81. }
  82. }
  83. });
  84. })(window.vc);