I have a canon 5d. I custom white balance for correct color in camera. When I see the photo on the back of the camera dislplay the color looks spot on but when I upload to the computer the colors are almost purple. I use and eye one display calibrator for my monitor.
The problem is that your LCD screen on the camera is not color or tonally calibrated and what you see on it is not what you get. That's pretty normal for back of the camera LCDs and there's not anything you can do about it.
Are you shooting RAW or in camera jpegs? If you're shooting in camera jpegs, what color matrix have you chosen? You can basically set them to sRGB or Adobe RGB and, if that's what your'e shooting, they should be pretty close when you open them in Ps. If you're shooting RAW, which I really encourage you to do, the white balance you set in camera is only a guide used as a starting point for the raw image processing application - Canon's DPP, Adobe ACR or Lightroom or PhaseOne's CaptureOne. The white balance, along with the RGB working space can be overridden in the raw software to whatever works best for you.
Obviously a hardware calibrated monitor is a must when evaluating digital files. I assume you've done that, right?