king
2020-01-17 bef4f9e4fc767e8dd80b106a47545f78e75e7e41
src/templates/subtableconfig/index.jsx
@@ -1089,6 +1089,7 @@
   * @description 标签页保存
   */
  submitConfig = () => {
    const { delActions } = this.state
    let config = JSON.parse(JSON.stringify(this.state.config))
    this.menuformRef.handleConfirm().then(res => {
@@ -1159,29 +1160,78 @@
        })
      }
      Api.getSystemConfig(param).then(response => {
        if (response.status) {
          this.setState({
            config: _config,
            originConfig: _config
          }, () => {
      // 有按钮或标签删除时,先进行删除操作
      // 删除成功后,保存页面配置
      new Promise(resolve => {
        if (delActions.length > 0) {
          let deffers = delActions.map(item => {
            let _param = {
              func: 'sPC_MainMenu_Del',
              MenuID: item
            }
            return new Promise(resolve => {
              Api.getSystemConfig(_param).then(response => {
                resolve(response)
              })
            })
          })
          Promise.all(deffers).then(result => {
            let error = null
            result.forEach(response => {
              if (!response.status) {
                error = response
              }
            })
            if (error) {
              this.setState({
                menuloading: false,
                menucloseloading: false
              })
              notification.warning({
                top: 92,
                message: error.message,
                duration: 10
              })
              resolve(false)
            } else {
              this.setState({
                delActions: []
              })
              resolve(true)
            }
          })
        } else if (delActions.length === 0) {
          resolve(true)
        }
      }).then(resp => {
        if (resp === false) return
        Api.getSystemConfig(param).then(response => {
          if (response.status) {
            this.setState({
              config: _config,
              originConfig: _config
            }, () => {
              this.setState({
                menuloading: false,
                menucloseloading: false
              })
              this.submitAction(btnParam)
            })
          } else {
            this.setState({
              menuloading: false,
              menucloseloading: false
            })
            this.submitAction(btnParam)
          })
        } else {
          this.setState({
            menuloading: false,
            menucloseloading: false
          })
          notification.warning({
            top: 92,
            message: response.message,
            duration: 10
          })
        }
            notification.warning({
              top: 92,
              message: response.message,
              duration: 10
            })
          }
        })
      })
    }, () => {
      notification.warning({
@@ -1198,64 +1248,21 @@
  submitAction = (param) => {
    const { config } = this.state
    new Promise(resolve => {
      // 内部请求
      if (this.state.delActions.length > 0) {
        let deffers = this.state.delActions.map(item => {
          let _param = {
            func: 'sPC_MainMenu_Del',
            MenuID: item
          }
          return new Promise(resolve => {
            Api.getSystemConfig(_param).then(res => {
              resolve(res)
            })
          })
        })
        Promise.all(deffers).then(result => {
          let error = false
          result.forEach(res => {
            if (!res.status) {
              error = res
            }
          })
          if (error) {
      if (param.LText) {
        Api.getSystemConfig(param).then(res => {
          if (res.status) {
            resolve(true)
          } else {
            notification.warning({
              top: 92,
              message: error.message,
              message: res.message,
              duration: 10
            })
            resolve(false)
          } else {
            this.setState({
              delActions: []
            })
            resolve(param)
          }
        })
      } else if (this.state.delActions.length === 0) {
        resolve(param)
      }
    }).then(res => {
      if (res === false) return res
      if (res.LText) {
        return Api.getSystemConfig(res)
      } else {
        return 'copy'
      }
    }).then(response => {
      if (response === false || response === 'copy') return response
      if (response.status) {
        return 'copy'
      } else {
        notification.warning({
          top: 92,
          message: response.message,
          duration: 10
        })
        return false
        resolve(true)
      }
    }).then(response => {
      if (response === false) return response